gpt4 book ai didi

java - 如何提取我的 simplejson 数组的数据?

转载 作者:行者123 更新时间:2023-11-30 01:51:15 26 4
gpt4 key购买 nike

我想提取 JSONArray 对象的所有注释,我发现了这篇文章 https://www.mkyong.com/java/json-simple-example-read-and-write-json/ 。问题是我的 JSONArray 是一种“数组的数组”:

[{"AnnotationOfzelda":
[{"annotation":
[{"duration":5000,"annotation":"salut","timestamp":2250.0},
{"duration":5000,"annotation":"jp","timestamp":4570.0}]},
{"duration":5000,"annotation":"asd","timestamp":3340.0},
{"duration":5000,"annotation":"asd","timestamp":4040.0}]}]

我尝试了这段代码(来 self 链接的帖子)

 System.out.println(annotationJSON.toJSONString());

Iterator<JSONObject> iterator = annotationJSON.iterator();
while (iterator.hasNext()) {
JSONObject factObj = (JSONObject) iterator.next();
String annotation = (String) factObj.get("annotation");
System.out.println(annotation);
}

结果是“null”,我认为这是因为我需要进入数组“annotation”,而目前我只在“AnnotationOfzelda”中

最佳答案

尝试一下,您可以将其用于 JSON 中的特定值(注释:“asd”)或完整的 JSON:

import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;

import java.io.IOException;
import java.util.Iterator;

public class Sol {
public static void main(String[] args) {
String data = "[{\"AnnotationOfzelda\":\n" +
" [{\"annotation\":\n" +
" [{\"duration\":5000,\"annotation\":\"salut\",\"timestamp\":2250.0}, \n" +
" {\"duration\":5000,\"annotation\":\"jp\",\"timestamp\":4570.0}]}, \n" +
" {\"duration\":5000,\"annotation\":\"asd\",\"timestamp\":3340.0}, \n" +
" {\"duration\":5000,\"annotation\":\"asd\",\"timestamp\":4040.0}]}]";
ObjectMapper objectMapper = new ObjectMapper();
JsonNode jsonNode = null;
try {
jsonNode = objectMapper.readTree(data);
Iterator iterator = jsonNode.iterator();
while (iterator.hasNext()) {
JsonNode node = (JsonNode) iterator.next();
if (node.get("annotation") != null) {
System.out.println(node.get("annotation"));
continue;
}
if (node.iterator().hasNext()) {
iterator = node.iterator();
}
}
} catch (IOException e) {
e.printStackTrace();
}
}
}

输出[{"duration":5000,"annotation":"salut","timestamp":2250.0},{"duration":5000,"annotation":"jp","timestamp":4570.0}]“自闭症谱系障碍”“阿斯德”

关于java - 如何提取我的 simplejson 数组的数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55969638/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com