当前位置: 首页 > 知识库问答 >
问题:

NSJ系列化。JSONObjectWithData返回零

宣俊豪
2023-03-14
[
    {
        "_id": "557f27522afb79ce0112e6ab",
        "endereco": {
            "cep": "asdasd",
            "numero": "asdasd"
        },
        "categories": [],
        "name": "teste",
        "hashtag": "teste"
    }
]

返回无错误的nil:

var json = NSJSONSerialization.JSONObjectWithData(data, options:NSJSONReadingOptions.AllowFragments, error: &erro) as? NSDictionary

共有2个答案

阎成天
2023-03-14

调用isValidJSONObject:或尝试转换是判断给定对象是否可以转换为JSON数据的最终方法。

isValidJSONObject(:)返回一个布尔值,该值指示给定对象是否可以转换为JSON数据。

声明SWIFT类函数isValidJSONObject(j:AnyObject)-

讨论可用性iOS5.0及更高版本提供。

倪灿
2023-03-14

它无错误地返回nil,因为失败的不是JSON解析。它失败是因为结果对象的条件类型转换为字典。JSON不代表字典:它是一个包含一个项目(恰好是字典)的数组。外部[]表示一个数组。因此,当您解析它时,您希望将其转换为NSArray

例如,在Swift 1.2中,您可以:

if let json = NSJSONSerialization.JSONObjectWithData(data, options: nil, error: &error) as? NSArray, let dictionary = json.firstObject as? NSDictionary {
    println(dictionary)
} else {
    println(error)
}

或者您可以将其转换为字典数组:

if let json = NSJSONSerialization.JSONObjectWithData(data, options: nil, error: &error) as? [[String: AnyObject]], let dictionary = json.first {
    println(dictionary)
} else {
    println(error)
}
 类似资料:
  • 所以现在就打印(parsedResult!) 给出: {count=1;限制=10;偏移=0;结果 = ( { 数据集=(ldoce5,字典); head word=vodka; id=cqAG3cXCxZ;"part_of_speech"=名词;发音 = ( { 音频 = ( { lang="英式英语"; type=发音;url="/v2/字典/资产/ldoce/gb_pron/vodka020

  • 我在遵循at spring网站的创业指南https://spring.io/guides/gs/consuming-rest/. 我没有遵循确切的教程,因为我正在使用另一个endpoint:http://www.omdbapi.com?s=rush. 我在将JSON转换为POJO时遇到了问题。我没有收到任何错误或异常。有人能指出我哪里做错了吗? 您可以在此处找到完整的代码 这是我的POJO: 这是

  • 问题内容: 我正在使用节点编写其余部分,将其序列化为mySQL的ORM。我正在使用bulkCreate函数批量创建记录。但是作为响应,它为主键值返回 null 。 模型 批量创建操作: 回应: 问题答案: 您应该设置以下选项:

  • 我正在学习Spring框架,我的第一个目标是使用内置序列化程序返回版本对象。 我的根类(我称之为内核),希望使用一个类来配置应用程序 控制器 我正在尝试尽可能简单,我的项目中没有任何XML文件,因为我想完全注释 我从来没有真正喜欢Spring框架中的XML驱动概念,因为大多数时候这些XML文件的内容看起来像是暴露的程序员垃圾,除了所有者之外,没有人知道如何设置。当部署工作人员不知道这是什么时,公开

  • 我想使用Gson将JSON反序列化为对象。我已经定义了相应的类,其中一些类的对象包含在其他对象中。在尝试反序列化整个JSON时,我得到了空值,所以我开始将其拆分。 我已经到了所有低级类都支持自己的地步,但是当我试图反序列化成一个包含那个较小对象的实例的对象时,所有的东西都返回为null。 我的部分JSON: UserProfile类: UPfield类: 用户类: Ufield类: 我的主要观点是

  • 假设我有一个这样的: 看起来是这样的: 和一个X乘以Y的函数: 如果我想添加一个新的熊猫系列到df我可以做: 它起作用了! 现在我想添加多个系列: 我有这个功能: 像这样的东西?: 它不工作! 我希望列接收除法,列接收乘法! 注意:这不是我正在使用的代码,但我期待相同的行为。