gpt4 book ai didi

java - 使用 org.json 在 Java 中解析 JSON

转载 作者:行者123 更新时间:2023-11-30 07:03:51 31 4
gpt4 key购买 nike

我有一个大文件,其中包含许多类似于以下内容的 JSON 对象。我需要解析所有内容以使用 org.json library 将“bought_together”项目作为数组获取。我无法访问嵌套在“相关”中的任何内容。

检索“bought_together”列表所需的代码是什么?

{
"asin": "11158732",
"title": "Girls Ballet Tutu Zebra Hot Pink",
"price": 3.17,
"imUrl": "http://ecx.images-amazon.com/images/I/51fAmVkTbyL._SY300_.jpg",
"related":
{
"also_bought": ["L00JHONN1S", "B002BZX8Z6"],
"also_viewed": ["F002BZX8Z6", "B00JHONN1S", "B008F0SU0Y", "B00D23MC6W", "B00AFDOPDA"],
"bought_together": ["D202BZX8Z6"]
},
"salesRank": {"Toys & Games": 211836},
"brand": "Coxlures",
"categories": [["Sports & Outdoors", "Other Sports", "Dance"]]
}

这是我的尝试(请注意,这是在 MapReduce 程序中,因此某些行可能看起来脱离上下文。):

JSONObject object = new JSONObject(sampleText); //sampleText is json that has been split by line
JSONArray boughtTogether = new JSONArray(object.getJSONArray("bought_together"));

最佳答案

使用以下代码,希望对您有所帮助。

//this will be your json object that contains and convert your string to jsonobject
//if you have json object already skip this.
JSONObject yourJSON = new JSONObject(targetString);

//getting the "related" jsonObject
JSONObject related = yourJSON.getJSONObject("related");

//getting the "bought_together" as an jsonArray and do what you want with it.
//you can act with jsonarray like an array
JSONArray bought_together = related.getJSONArray("bought_together");


//now if you run blow code

System.out.print(bought_together.getString(0));

//output is : D202BZX8Z6

--------根据更新问题更新------你应该像这样更改你的代码:

JSONObject object = new JSONObject(sampleText); //sampleText is json that has been split by line

JSONObject related = object.getJSONObject("related");

JSONArray boughtTogether = related.getJSONArray("bought_together");

--------更新-----

我认为你需要这一点(这不是技术上的所有区别)

  • 所有东西都在 {} 中,它们将是 JSONObject 和关系键和值如下:

    {“姓名”:“阿里”}

    这是一个jsonobject,键“name”的值为ali,我们称之为ali像:

    myJsonObject.getString("name");

  • 所有内容都在 [] 中,它们将是 JSONArray 并且关系是索引和值如:

    [“阿里”]

    这是一个 JsonArray,索引 0 的值为 ali,我们称之为
    像:

    myJsonArray.getString(0);

所以在你的情况下:

  1. 您的总对象是一个 JSONObject
  2. “相关”键的值仍然是 JSONObject
  3. “bought_together”键的值(位于 {jsonobject}“相关”键的值内)是一个 JSONArray

关于java - 使用 org.json 在 Java 中解析 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40455305/

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