我有以下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
}
}
}
}
答案 0 :(得分:1)
在没有为您提供完整答案的情况下,我确信您可以通过调试此方法并在最内层if()
停止它来找到答案。您将能够了解jsonTaxonomySearsWeb
所包含的内容,从而了解如何获取其值。
答案 1 :(得分:0)
将您的代码修改为以下内容: -
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.
}
}
}
答案 2 :(得分:0)
我对这个问题有点不清楚。但是根据我的理解,你想要解析JSON,如果你想在java中这样做,那么你可以使用谷歌的GSON jar ...你也可以在这里查看简单的例子Gson handle object or array
答案 3 :(得分:0)
试试这个......
groups = json.getJSONArray(TAG_GROUP); System.out.println("Result Success+++"+groups); for (int i = 0; i < groups.length(); i++) { JSONObject c = groups.getJSONObject(i); String source = c.getString(TAG_SOURCE); System.out.println("Checking ::"+source); String lname = c.getString(TAG_PATH); HashMap<String, String> map = new HashMap<String, String>(); map.put(TAG_SOURCE, source); map.put(TAG_PATH,path); weblist.add(map); //weblist is your arraylist for both values webpathlist.add(path); //webpathlist is your arraylist for path } List<String> newList = new ArrayList<String>(); newList.addAll(weblist);