Json是一種常見的數據交換格式,經常在前端和后端數據傳輸中使用,而16進制則是一種常見的數字系統,能夠用較少的字符表示較大的數據,因此將Json轉化為16進制有時候非常有用。
在Java中,Json轉16進制可以使用如下代碼:
import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; public class JsonToHex { public static void main(String[] args) throws JsonProcessingException { ObjectMapper objectMapper = new ObjectMapper(); String json = "{\"name\": \"Tom\", \"age\": 20}"; byte[] bytes = objectMapper.writeValueAsBytes(json); //將json轉化為byte數組 String hex = bytesToHex(bytes); //將byte數組轉換為16進制字符串 System.out.println(hex); //輸出結果 } public static String bytesToHex(byte[] bytes) { StringBuilder hex = new StringBuilder(); for (byte b : bytes) { hex.append(String.format("%02x", b)); //將byte轉換為16進制字符串 } return hex.toString(); } }
此代碼片段使用了Jackson庫將json轉化為byte數組,然后使用bytesToHex函數將byte數組轉換為16進制字符串。需要注意的是,16進制每個字節需要兩位,因此代碼中使用了String.format("%02x", b)將byte轉換為兩位16進制字符串。
總體來說,Java中將Json轉化為16進制需要使用byte轉換和16進制格式化功能,代碼比較簡單,并且方便在數據傳輸和存儲中使用。涉及到Json和16進制的程序可以考慮使用此方法。