当前位置: 首页 > 面试题库 >

将JSON解码为NSArray或NSDictionary

孙思源
2023-03-14
问题内容

我希望解码以下JSON数据:

{
    "content":
    [   
        {
            "1":"a",
            "2":"b",
            "3":"c",
            "4":"d",
            "mark":"yes"
        }
    ]
}

不确定是否将其放在NSArray或NSDictionary中

欢迎任何评论


问题答案:

您正在使用哪个iOS版本?在iOS 5中,您具有NSJSONSerialization用于解析JSON数据的类,如果您需要定位较旧的iOS或MAC
OSX,则应使用第三方库,例如SBJSON。发布的字符串将是NSDictionary,其数组包含一个字典。使用键可以访问该阵列@"content"

在代码中:

NSString * jsonString = @"blblblblblb";
NSStringEncoding  encoding;
NSData * jsonData = [jsonString dataUsingEncoding:encoding];
NSError * error=nil;
NSDictionary * parsedData = [NSJSONSerialization JSONObjectWithData:jsonData options:kNilOptions error:&error];

在SWIFT 2.0中:

    let jsonString = "blblblblblb"
    let encoding = NSUTF8StringEncoding
    let jsonData = jsonString.dataUsingEncoding(encoding)
    guard let jData = jsonData else {return}
    do {
        let parsedData = try NSJSONSerialization.JSONObjectWithData(jData, options: [])
    } catch let error {
        print("json error: \(error)")
    }

[更新]该NSJSONSerialization课程也适用于10.7,我的评论不正确。



 类似资料:
  • 问题内容: 我需要以数组格式发送一个到服务器。如何将其转换为。这是我必须通过的样本。 所需的格式是这样的 有人有解决办法吗?提前致谢。 问题答案:

  • 问题内容: 我正在尝试在Go中解码一些json,但某些字段不会被解码。在此处查看在浏览器中运行的代码: 我究竟做错了什么? 我只需要MX记录,所以没有定义其他字段。据我从godoc了解到,您不需要定义不需要/不需要的字段。 问题答案: 按照有关json.Unmarshal的go documentaiton 所述,您只能对导出的字段进行解码,主要原因是外部软件包(例如)无法访问未导出的字段。 如果您

  • 问题内容: 我在MongoDB中的规范化数据模型结构中遇到以下错误: 这是由于以下原因造成的: 具体的部分。我的文档中有一个DBRef对象,因此我可以引用另一个集合中的文档。嵌入式文档结构不是选项。那么我该如何解决呢? 问题答案: 您必须为其导入DBRef编解码器才能进行打印,如果您希望以文档json样式进行打印,则需要编写自己的DBRef编解码器,并将其添加到您给toJson()的编解码器中。

  • 问题内容: 我有一个XML文件,例如 如何将其解析为JSON结构文件? 问题答案: 对于一个简单的解决方案,我建议使用Jackson库,它是一个Java库,用于生成和读取带有XML扩展名的JSON,因为它只需几行简单的代码就可以将任意复杂的XML转换为JSON。 input.xml Java代码: 该演示使用Jackson 1.7.7 (较新的1.7.8也可以使用),Jackson XML Dat

  • 问题内容: 从webservice(API)解码JSON时出现错误: 我的代码: 如果我将URL更改为http://localhost/fendy/getjson.php,它的工作原理很好。 如果我的网址是http://bitnami.local/cscart_demo/api/users,我会收到错误消息 来自网络服务http://localhost/fendy/getjson.php的响应:

  • 问题内容: 希望我不必在这里重新发明轮子,但是有人知道C#中是否有一个类似于Adobe为AS3提供的类,用于将通用对象转换为JSON字符串的类? 例如,当我编码一个对象数组时。 输出: 问题答案: 在C#中: