在Java中将JSON Type转换为Byte数组格式

viy*_*ncs 26 java byte json

我想在UDP协议中使用字节格式发送数据时出现问题,问题是当我尝试使用json对象创建数据时,我无法获取数据的字节格式这是我的示例代码:

    JSONObject obj = new JSONObject();
    obj.put("name", "foo");
    obj.put("num", new Integer(100));
    obj.put("balance", new Double(1000.21));
    obj.put("is_vip", new Boolean(true));
    obj.put("nickname",null);

    sendData = obj.getBytes(); //this is error because not have methos getBytes();
Run Code Online (Sandbox Code Playgroud)

我知道我的问题,但我找不到如何将json对象转换为字节,任何建议?

MBy*_*ByD 34

获取字符串的字节:

obj.toString().getBytes(theCharset);
Run Code Online (Sandbox Code Playgroud)

  • `getBytes`应该传递一个编码.否则......当它不是假定的"默认编码"时没有乐趣. (3认同)

Agu*_*ama 30

假设您提到的JSONObject来自于此,您可以获得如下的字节

sendData = obj.toString().getBytes("utf-8");
Run Code Online (Sandbox Code Playgroud)