我有一个Kafka信息流,想建立一个哈希图
for (ConsumerRecord<String,String> consumerRecord : records) {
if(!responses.containsKey(consumerRecord.topic())){
responses.put(consumerRecord.topic(), new ArrayList<Object>());
}
responses.get(consumerRecord.topic()).add(JSONObject.stringToValue(consumerRecord.value()));
}
预期回应:
{
"topic1": [
{"field1":"value1","field2":"value2","field3":"value3"}
],
"topic2": [
{"field1":"value1","field2":"value2","field3":"value3"},
{"anotherfield1":"anothervalue1","anotherfield2":"anothervalue2"}
]
}
实际答复:
{
"topic1": [
"{\"field1\":\"value1\",\"field2\":\"value2\",\"field3\":\"value3\"}"
],
"topic2": [
"{\"field1\":\"value1\",\"field2\":\"value2\",\"field3\":\"value3\"}",
"{\"anotherfield1\":\"anothervalue1\",\"anotherfield2\":\"anothervalue2\"}"
]
}
斜杠引号(")符号只是JSON中正确转义的引号。您的解析器没有将内部JSON识别为JSON,而是将它们视为Strings。因此,在字符串中,它逃过了所有“符号”。我建议您可以使用Json-Jackson的ObjectMapper类(也称为Faster XML)库(此处为Maven工件)。我写了我自己的开源库MgntUtils,它有基于Json-Jackson的JSON解析器。使用这个库,您可以轻松地将JSON字符串解析成地图
Map<String, Object> myMap = null;
try {
myMap = JsonUtils.readObjectFromJsonString(jsonString, Map.class);
}
} catch (IOException e) {
...
}
以下是JsonUtils的Javadoc。MgntUtils库的Maven工件可以在这里找到,而作为jar的库以及Javadoc和源代码可以在Github上找到
问题内容: 我想用来将json对象流放入json数组中,例如,从 至 但这行不通 自从我得到 问题答案: 用该选项将其混为一谈。 作为另一种选择,使用读取值是更灵活的选择。通常,您需要将此选项与选项结合使用,以防止第一个值过早消耗。
问题内容: 我需要将JSON对象字符串转换为JavaScript数组。 这是我的JSON对象: 我想拥有: 我该如何实现? 问题答案: var json_data = {“2013-01-21”:1,”2013-01-22”:7}; var result = [];
问题内容: 我有一个API请求,返回以下内容: 我想在单击按钮后使用以下代码显示获取的电影标题: 我的问题是,我收到一条错误消息,提示我只能遍历数组,并且我的数据是对象。如何在打字稿中将Object转换为Array,并在表格中显示电影的标题? 问题答案: 没错,您的回复是一个带有字段的对象: 因此,您实际上只想迭代该字段: …甚至更简单:
我在数组中有一组值,每个值都有一个和。 一旦我有了值数组和类型控制台和,输出是: 如何将这些值存储在哈希映射中,如键值(ID-LABEL)对,并将其存储在json中?
如何将hashmap转换或强制转换为Java中的JSON对象,并再次将JSON对象转换为JSON字符串?
问题内容: 我正在从返回JSON格式数据的服务器请求数据。发出请求时,将HashMap转换为JSON并不难,但另一种方式似乎有些棘手。JSON响应如下所示: 哪种方法最容易访问此数据?我正在使用GSON模块。 问题答案: 干得好: