0

我有一个来自我试图解释的电话簿服务的 JSON。

回复给了我6个项目。主要项目是“数据”。在那个项目里面有一个带有许多标签的疯狂字符串。

items = [items valueForKeyPath:@"Data"];


{
"qry": "gørild tollefsen aas",
"result": {
    "hitLinesBeforeFilter": 1,
    "approxHits": 1,
    "userID": 56699100,
    "1": {
        "listing": {
            "table": "listing",
            "id": "1070262",
            "duplicates": [
                {
                    "table": "listing",
                    "id": "1070262:0",
                    "idlinje": "P7IBCL",
                    "tlfnr": "99299999",
                    "etternavn": "Aas",
                    "fornavn": "Gørild Tollefsen",
                    "veinavn": "Mo",
                    "husnr": "42",
                    "postnr": "5729",
                    "virkkode": "P",
                    "apparattype": "M",
                    "telco": "MF",
                    "kilde": "P",
                    "prioritet": "0",
                    "fodselsdato": "1988-07-13",
                    "kommunenr": "1252",
                    "kid": "12611829",
                    "poststed": "Modalen",
                    "kommune": "Modalen",
                    "fylke": "Hordaland",
                    "landsdel": "V"
                }
            ]
        }
    },
    "dummy": null
}

}

我怎样才能在 NSArray 中以一种很好的方式得到“Fornavn”、“Etternavn”和“tlfnr”?

对我来说,内容看起来不像 JSON。

如果我尝试调试此数组的计数,则应用程序崩溃并出现以下错误:

reason: '-[__NSCFString count]: unrecognized selector sent to instance 0x14f53f80'

编辑:

这个好把戏为我做到了:

NSError *error;
    NSString *tekstdata = [items valueForKeyPath:@"Data"];
    NSDictionary *JSON =
    [NSJSONSerialization JSONObjectWithData: [tekstdata dataUsingEncoding:NSUTF8StringEncoding]
                                    options: NSJSONReadingMutableContainers
                                      error: &error];


    items = [JSON valueForKeyPath:@"result.1.listing.duplicates"];

我不得不再次使用序列化,很明显,因为原始 JSON 中有一个 JSON。谢谢您的帮助。你让我朝着正确的方向前进。

4

2 回答 2

0

如果我将您的问题理解为提到的评论员之一,请将 Json 剥离,就好像它是一个 inion 一样。

使用此工具查看层是如何形成的, http://jsonviewer.stack.hu/

此外,您可能需要考虑使用 NSMutableArray 以便您可以删除和/或重新排列数组。

希望我能提供帮助。

于 2013-07-29T21:43:54.403 回答
0

为了从嵌套的 JSON 文件中只获取一些感兴趣的项目,我建议使用AFNetworkingAFJSONRequestOperation来解析 JSON 文件并将结果放入NSDictionary. 然后,您可以NSDictionary使用该方法查询[myDictionary objectForKey:@"Fornavn"]以检索该值。

于 2013-07-29T21:50:39.873 回答