【问题标题】:How do I iterate through JSON string如何遍历 JSON 字符串
【发布时间】:2018-11-19 15:20:01
【问题描述】:

我收到了一个Json 字符串:

{"items":[{"score":0.0,"year":0,"id":258}, "score":0.0,"year":0,"id":259}],"id":0}

我想将ids 存储在一个列表中,所以结果应该是: [258,259]。

最有效的方法是什么?有什么建议吗?

【问题讨论】:

  • 获取任何 JSON 库或手动解析。提取您想要的内容并将其收集到一个数组中。
  • 请求家庭作业帮助的问题必须包括您迄今为止为解决问题所做的工作摘要,以及对您在解决它时遇到的困难(help centerHow to Ask)。

标签: java json string


【解决方案1】:

使用Gson

List<Integer> ids = new ArrayList<>();

JsonArray items = new JsonParser()
   .parse(myString)
   .getAsJsonObject()
       .getAsJsonArray("items");

for (JsonElement item : items) {
    ids.add(item
        .getAsJsonObject()
        .getAsJsonPrimitive("id")
        .getAsInt());
}

【讨论】:

  • 我在 jdk.nashorn.internal.parser.JSONParser 类中的structor JSONParser 上收到此错误,无法应用于给定类型。
【解决方案2】:
var obj = {
      items: [
        {
              score:0.0,
              year:0,
              id:258
            },
        {
            score:0.0,
            year:0,
            id:259
       }],
       id:0};

var items = obj.items;

items = items.map( function(el) { return el.id;});

console.log( JSON.stringify(items));

【讨论】:

  • 语言错误。
猜你喜欢
  • 1970-01-01
  • 2021-10-14
  • 1970-01-01
  • 2017-01-30
  • 1970-01-01
  • 2010-11-17
  • 2021-04-29
  • 2018-05-15
相关资源
最近更新 更多