Java 从JSON对象提取数组

Java 从JSON对象提取数组,java,json,jakarta-ee,Java,Json,Jakarta Ee,我有一个如下的JSON对象,我需要将web数组中的路径字符串解析为一个新的JSON数组 "taxonomy": { "source": { "master": { "_id": "5000", "path": "/Appliances/Refrigerators/French Door Bottom Freezers" }, "web": [ {

我有一个如下的JSON对象,我需要将web数组中的路径字符串解析为一个新的JSON数组

"taxonomy": {
    "source": {
        "master": {
            "_id": "5000",
            "path": "/Appliances/Refrigerators/French Door Bottom Freezers"
        },
        "web": [
            {
                "_id": "6686",
                "path": "/Appliances/Refrigerators/French Door Bottom Freezers"
            },
            {
                "_id": "7686",
                "path": "/Appliances/Refrigerators/Bottom Freezers"
            }
        ],

    },

},
我一直写到这里,但我不知道如何在web数组中获取所有路径

                JSONObject jsonTaxonomy= _blob.optJSONObject("taxonomy");
            if(jsonTaxonomy!=null)
            {
                if(!jsonTaxonomy.isNull("source"))
                {
                    JSONObject jsonTaxonomySource= jsonTaxonomy.optJSONObject("source");
                    if(!jsonTaxonomySource.isNull("web"))
                    {
                        JSONArray jsonTaxonomySourceWeb= jsonTaxonomySource.optJSONArray("web");
                        if(jsonTaxonomySourceWeb!=null && jsonTaxonomySourceWeb.length()>0)
                        {
                            //Got inside the array
                        }
                    }
                }
            } 

在不提供完整答案的情况下,我相信您可以通过调试此方法并在最内部的
if()
处停止它来找到答案。您将能够了解
jsonTaxonomySearsWeb
的组成以及如何获取其值。

在不提供完整答案的情况下,我相信您可以通过调试此方法并在最内部的
if()
处停止它来找到答案。您将能够了解
jsonTaxonomySearsWeb
的组成以及如何获取其值。

将您的代码修改为以下内容:-

JSONObject jsonTaxonomy= _blob.optJSONObject("taxonomy");
if(jsonTaxonomy!=null)
{
        JSONObject jsonTaxonomySource = jsonTaxonomy.optJSONObject("source");
        if(jsonTaxonomySource!=null)
        {
            JSONArray jsonTaxonomySearsWeb= jsonTaxonomySource.optJSONArray("web");
            if(jsonTaxonomySearsWeb!=null)
            {
                // Traverse through your JSONArray and get each Object & extract path from it.
            }
        }
}

将代码修改为以下内容:-

JSONObject jsonTaxonomy= _blob.optJSONObject("taxonomy");
if(jsonTaxonomy!=null)
{
        JSONObject jsonTaxonomySource = jsonTaxonomy.optJSONObject("source");
        if(jsonTaxonomySource!=null)
        {
            JSONArray jsonTaxonomySearsWeb= jsonTaxonomySource.optJSONArray("web");
            if(jsonTaxonomySearsWeb!=null)
            {
                // Traverse through your JSONArray and get each Object & extract path from it.
            }
        }
}

我对这个问题有点不清楚。但根据我的理解,如果你想在java中解析JSON,那么你可以使用谷歌的GSON jar…你也可以在这里查看简单的示例

我对这个问题有点不清楚。但根据我的理解,如果你想在java中解析JSON,那么你可以使用谷歌的GSON jar…你也可以在这里查看简单的示例

groups=json.getJSONArray(标记组);
System.out.println(“结果成功+++”+组);
对于(int i=0;i
像这样试试

groups=json.getJSONArray(标记组);
System.out.println(“结果成功+++”+组);
对于(int i=0;i

if(jsonTaxonomy!=null){if(!jsonTaxonomy.isNull(“源”){}}
可以替换为
if(jsonTaxonomy!=null&&!jsonTaxonomy.isNull(“源”){}
u需要在web数组中添加所有源值。
if(jsonTaxonomy!=null){if(!jsonTaxonomy.isNull(“源”){}
可以替换为
if(jsonTaxonomy!=null&&!jsonTaxonomy.isNull(“源”){}
u需要在web数组中添加所有源值..将使用jsonTaxonomySearsWeb.getJSONObject(i).getString(“路径”)将它们添加到数组中会起作用吗???我不是
JSONObject
方面的专家,但是如果这是循环的一部分并且
I
由它提供,这可能会起作用将它们添加到数组中会起作用吗???我不是
JSONObject
方面的专家,但是如果这是循环的一部分,并且
I
是由它提供的,这可能会起作用。