Android嵌套项的JSON解析?

Android嵌套项的JSON解析?,android,json,parsing,nested,Android,Json,Parsing,Nested,我已经使用这个网站很多年了,但从未发布过。我被难住了,希望有人能帮助我 我使用的代码与这里发布的代码非常相似,但似乎无法理解如何解析这个JSON文件。我编辑了他的JSON信息,以反映我试图解析的确切格式,从而节省空间/时间。如何解析“结果”,以便查询“名称”和“类型”?就像他对“相似”和“信息”的问题一样,我如何解析下面文件中的“信息”和“结果” 下面是一个JSON文件的示例,该文件以我使用的确切格式编辑: { "head": { "title": "Music", "statu

我已经使用这个网站很多年了,但从未发布过。我被难住了,希望有人能帮助我

我使用的代码与这里发布的代码非常相似,但似乎无法理解如何解析这个JSON文件。我编辑了他的JSON信息,以反映我试图解析的确切格式,从而节省空间/时间。如何解析“结果”,以便查询“名称”和“类型”?就像他对“相似”和“信息”的问题一样,我如何解析下面文件中的“信息”和“结果”

下面是一个JSON文件的示例,该文件以我使用的确切格式编辑:

{
"head": {
    "title": "Music",
    "status": "200"
},
"Info": [
    {
        "Name": "Mos Def",
        "Type": "music",
        "Results": [
            {
                "Name": "Talib Kweli",
                "Type": "music"
            },
            {
                "Name": "Black Star",
                "Type": "music"
            },
            {
                "Name": "Little Brother",
                "Type": "music"
            }
         ]
    }, 
    {
        "Name": "Mos Def",
        "Type": "Vehicles",
        "Results": [
            {
                "Name": "Chevy",
                "Type": "Car"
            },
            {
                "Name": "Ford",
                "Type": "Car"
            },
            {
                "Name": "Pontiac",
                "Type": "Car"
            }
         ]
      }
   ]
}
我的代码中可能感兴趣的部分是:

。。。我做了一个httpget ... 这将内置到StringBuilder中 ... 使用StringBuilder的结果创建JSONObject

   jArray = new JSONObject(result);
。。。然后返回

然后到

   JSONArray  Info = json.optJSONArray("Info");

   System.out.println("HERE IS INFO: ");
   System.out.println(Info);
   //System.out.println("HERE IS RESULTS: ");
   //System.out.println(Results);
基本上这就是我被难倒的地方。 我用打印信息来缩小问题的范围

解析“信息”允许我搜索:“名称”:“Mos Def”“类型”:“音乐”-“名称”:“Mos Def”“类型”:“车辆”

将“信息”搜索替换为“结果”不会提供任何数据。(未找到)


有什么想法吗?

这是肯定的,因为
结果
是JSONArray
信息
中的JSONArray。所以你应该试试这样的东西

JSONArray  Info = json.optJSONArray("Info");
JSONArray Results = null;
for (int i = 0; i < array.length(); i++) {
            JSONObject object = Info.getJSONObject(i);
            Results results = object.getJSONArray("Results");
        }
JSONArray Info=json.optJSONArray(“Info”);
JSONArray结果=null;
对于(int i=0;i
您需要调用解析代码,如下所示:

jArray = new JSONObject(result);
for(int i=0;i<jArray.length();i++)
{
    JSONArray  Info = json.optJSONArray("Info");
    for(int j=0;j<Info.length();j++){
    {
         System.out.println("HERE IS INFO: ");
         System.out.println(Info);
         //System.out.println("HERE IS RESULTS: ");
         JSONObject obj=Info.getJSONObject(j);
         JSONArray results=obj.getJSONArray("Results");
         for(int k=0; k<results.length();
         {
             //Process Results
         }
}
jArray=新的JSONObject(结果);

对于(inti=0;i更好地使用GSON,它来自谷歌,使用它解析JSON是小菜一碟。。!! 这里有一个很好的教程,你会更高兴使用GSON


没有人会为你编码,你需要自己去做。我们不是在找编码员。我们是在找一个有提示或想法的人来引导我走上正确的方向。这会给出结果吗?我不这么认为,因为结果在JSONObject中,你正试图直接访问它。是的,它可能需要一些版本,我已经编辑过了很抱歉,但它仍然不是编译代码。通过阅读您的回复和Lalit的回复,我能够将一些东西组合起来,使其工作起来。我非常感谢您花时间发布!如果您认为它可能对任何人都有帮助,我将发布我最终得到的工作解决方案。感谢您的回复。我已经阅读了它,可能很快就会查看它。Had由于某些原因,尝试导入jar文件时出现问题,因此我继续(一直试图找出包含的JSON库)从下载gson,下载后制作一个“lib”droid项目中的文件夹,然后将其移动到那里,然后右键单击eclipse中的项目属性并添加库,就这样!谢谢,Kaibuki。我会尝试一下。非常感谢您的回复。这就是我真正需要的一点提示。通过使用您发布的内容和Jitendra发布的内容,我现在已经找到了它。谢谢获得!如果你认为它对其他人有帮助的话,我会发布最终使它工作的内容。@lalit Bro我也面临json解析问题。我在创建JsonObject时遇到了JsonException,这里是我问题的链接。(问题)[请帮助我