如何在 iOS 中解析复杂的 json 数据?

Posted

技术标签:

【中文标题】如何在 iOS 中解析复杂的 json 数据?【英文标题】:how to parse complex json data in iOS? 【发布时间】:2016-07-16 11:10:01 【问题描述】:

我是 ios 新手,我想解析数据,但它太复杂了,我不知道如何解析它。下面给出的是json数据。


    "response_code": 200,
    "last_updated": 
        "date": "2015-12-27",
        "time": "01:32:13"
    ,
    "trains": [
        
            "train": 
                "number": "04921",
                "start_time": "04:45",
                "name": "SRE-UMB MEMU SPECIAL",
                "type": "HSP"
            ,
            "dest": 
                "code": "UMB",
                "name": "AMBALA CANT JN"
            ,
            "source": 
                "code": "SRE",
                "name": "SAHARANPUR"
            
        ,
        
            "train": 
                "number": "04922",
                "start_time": "20:45",
                "name": "UMB-SRE MEMU SPECIAL",
                "type": "HSP"
            ,
            "dest": 
                "code": "SRE",
                "name": "SAHARANPUR"
            ,
            "source": 
                "code": "UMB",
                "name": "AMBALA CANT JN"
            
        
    ]

【问题讨论】:

你觉得这里面很复杂...你能详细说明一下 trains 是一个数组,train , dest and source 是字典 check this link 以获得更好的想法 var responseObj = JSON.parse(jsonresponse); El Captain v2.0 我知道如何解析简单的json数据。据我所知,iOS 我不知道如何同时解析多个字典。 【参考方案1】:

, , - 这是一个字典[ , , ] - 这是一个数组

在您的情况下,您会得到:

第一级 - 带有键 response_codelast_updatedtrains 的字典。 其中:response_code - 值last_updated - 带键的字典 datetimetrains - 带键的字典数组 traindestsource

等等

【讨论】:

【参考方案2】:

使用NSJSONSerialization 类,很简单。

例如,在 Objective-C 中:

id jsonObject = [NSJSONSerialization JSONObjectWithData:jsonData options:0 error:&error];
if (jsonObject) 
   // jsonObject is an NSArray or NSDictionary representation of the data that you can now do something with

【讨论】:

以上是关于如何在 iOS 中解析复杂的 json 数据?的主要内容,如果未能解决你的问题,请参考以下文章

iOS开发之JSON格式数据的生成与解析

如何在颤振中解析复杂的json

解析复杂JSON数据

如何在颤振中解析这个复杂的json

如何在 Ios 中解析数组数据中的嵌套 Json 对象

如何在ios7中解析这个json数据