java - 如何将 JSONObject 转换为字节数组,然后转换此字节数组以取回原始 JSONObject?

标签 java json amazon-web-services serialization bytearray

<分区>

我正在使用 AWS JSONObject class .假设我定义了一个 JSONObject 对象,如下所示:

JSONObject obj = new JSONObject();
obj.put("Field1": 35);

JSONObject nestedObj = new JSONObject();
nestedObj.put("Name1":"value1");
nestedObj.put("Name2":42);

obj.put("Field2": nestedObj);

所以 JSONObject 看起来像:

{"Field1": 35,
 "Field2": {"Name1": "value1",
            "Name2": 42}
}

我想使用这个 JSONObject 并以某种方式将它转换为字节数组:

byte[] objAsBytes = convertToBytes(obj);

其中 convertToBytes 是一些可以正确执行此操作的函数。然后我想获取这个字节数组并将其转换回原始 JSONObject 以便它仍然保留其原始结构。

有人知道怎么做吗?我想这样做是因为我使用的是 Amazon Kinesis,更具体地说是 PutRecord API,而 PutRecordRequest 要求数据是 ByteBuffer,所以我需要将 JSONObject 转换为字节数组,然后将字节数组包装为 ByteBuffer。然后,当我检索记录时,我需要将 ByteBuffer 转换为字节数组,然后获取原始 JSONObject。

最佳答案

这个怎么样?

byte[] objAsBytes = obj.toString().getBytes("UTF-8");

我用了Json.simple试试看,似乎有效!

关于java - 如何将 JSONObject 转换为字节数组,然后转换此字节数组以取回原始 JSONObject?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36560223/

相关文章:

java - 基于 Jackson Delegate 的创建者是否有某种方法可以访问原始 Json 字符串?

java - 如何用java编写简单的邮件服务器?

java - JDBC Java ALTER TABLE 语法错误

java - 验证(单位测量)

javascript - 导入 JSON 并转换为数组

javascript - 访问 JSON 中的数组

amazon-web-services - 动态数据库 : Why can't a primary key be part of a filter-expression?

python - 创建集群需要 InstanceProfile - 创建 python 函数来安装模块

mysql - AWS Redshift 默认时间戳

java - 如何在 PDFBox API 2 中获取字段页面?