繁体   English   中英

在iOS中解析并推送嵌套的json对象

[英]Parsing and pushing nested json object in ios

我正在使用ios中的嵌套Json对象,问题是无法解析它。 谁能帮我解决这个问题。 我已经跟踪了许多链接,但事实证明这确实很有成果。

Json File如下:

{

"taskList":[
    {
        "taskId":101,
        "taskName":"Survey Task1",
        "details":"australian map for field partners",
        "dropDate":"2014-11-26",
        "dueDate":"2014-11-27",
        "supervisorId":12,
        "supervisorContactInfo":"54543",
        "status":"assigned",
        "formList":[
            {
                "formId":"CAFvodafone",
                "formName":"CAF vodafone",

            },
            {
                "formId":"CAF",
                "formName":"CAF",

            },
            {
                "formId":"telenore_cdk",
                "formName":"telenore cdk",

            }
        ]
    },
    {
        "taskId":102,
        "taskName":"Survey Task2",
        "details":"australian map for field partners",
        "dropDate":"2014-11-26",
        "dueDate":"2014-11-27",
        "supervisorId":12,
        "supervisorContactInfo":"54543",
        "status":"assigned",
        "formList":[
            {
                "formId":"Salesform",
                "formName":"Sales form",

            }
        ]
    },
    {
        "taskId":111,
        "taskName":"Survey Task8",
        "details":"australian map for field partners",
        "dropDate":"2014-11-29",
        "dueDate":"2014-12-20",
        "supervisorId":12,
        "supervisorContactInfo":"54543",
        "status":"assigned",
        "formList":[
            {
                "formId":"CAF",
                "formName":"CAF",

            }
        ]
    },
    {
        "taskId":118,
        "taskName":"Survey Task8",
        "details":"australian map for field partners",
        "dropDate":"2014-11-29",
        "dueDate":"2014-12-20",
        "supervisorId":12,
        "supervisorContactInfo":"54543",
        "status":"assigned",
        "formList":[
            {
                "formId":"CAFvodafone",
                "formName":"CAF vodafone",

            }
        ]
    },
    {
        "taskId":113,
        "taskName":"Survey Task8",
        "details":"australian map for field partners",
        "dropDate":"2014-11-29",
        "dueDate":"2014-12-20",
        "supervisorId":12,
        "supervisorContactInfo":"54543",
        "status":"assigned",
        "formList":[
            {
                "formId":"CAF",
                "formName":"CAF",

            }
        ]
    },
    {
        "taskId":112,
        "taskName":"Survey Task8",
        "details":"australian map for field partners",
        "dropDate":"2014-11-29",
        "dueDate":"2014-12-20",
        "supervisorId":12,
        "supervisorContactInfo":"54543",
        "status":"assigned",
        "formList":[
            {
                "formId":"CAF",
                "formName":"CAF",

            }
        ]
    },
    {
        "taskId":116,
        "taskName":"Survey Task8",
        "details":"australian map for field partners",
        "dropDate":"2014-11-29",
        "dueDate":"2014-12-20",
        "supervisorId":12,
        "supervisorContactInfo":"54543",
        "status":"assigned",
        "formList":[
            {
                "formId":"CAFvodafone",
                "formName":"CAF vodafone",

            }
        ]
    }
]

作者:Roop

从你的json字典

id arrayTrack = json[@"taskList"];

    if ([arrayTrack isKindOfClass:[NSArray class]]){ // check it array or not

        for (id trackDictionary in arrayTrack) {

            if ([trackDictionary isKindOfClass:[NSDictionary class]]){ //check it Dictionary or not

                trackId = trackDictionary[@"taskId"];
// Like this you can fetch other key values...
            }


        }

    }

我认为这将帮助您:)

您尝试以这种方式解析json数据

NSLog(@"%@",[[[yourjsonDictionary objectForKey:@"taskList"] objectAtIndex:0] objectForKey:@"taskName"]);

json响应返回字典首先从字典中获取值

[yourjsonDictionary objectForKey:@"taskList"] // this statement return array

您获得数组中的第一个键和值,并以这种方式获取数组值

[[yourjsonDictionary objectForKey:@"taskList"] objectAtIndex:0] // return first array element

获得0元素值

[[[yourjsonDictionary objectForKey:@"taskList"] objectAtIndex:0] objectForKey:@"taskName"] //return task name

[[[yourjsonDictionary objectForKey:@"taskList"] objectAtIndex:0] objectForKey:@"taskId"] // return task Id

获取嵌套的formList数据

[[[[[yourjsonDictionary objectForKey:@"taskList"] objectAtIndex:0] objectForKey:@"formList"] objectAtIndex:0] objectForKey:@"formName"] // return form name

要么

NSLog(@"%@",yourjsonDictionary[@"taskList"][0][@"taskName"]); // print task name

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM