加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

swift – NSJSONSerialization错误. Code = 3840“字符0周围的值

发布时间:2020-12-14 05:39:50 所属栏目:百科 来源:网络整理
导读:使用类似“abc”的字符串但使用“123”成功时出现NS JSONSerialization.JSONObjectWithData错误 我不知道为什么. 错误日志 2015-11-04 17:42:02.997 SwiftJsonDemo[27196:2701028] Error Domain=NSCocoaErrorDomain Code=3840 "Invalid value around charact
使用类似“abc”的字符串但使用“123”成功时出现NS JSONSerialization.JSONObjectWithData错误

我不知道为什么.

错误日志

2015-11-04 17:42:02.997 SwiftJsonDemo[27196:2701028] Error Domain=NSCocoaErrorDomain Code=3840 "Invalid value around character 0." UserInfo={NSDebugDescription=Invalid value around character 0.}

//var str = "123" // ok
var str = "abc" // error
let strData = str.dataUsingEncoding(NSUTF8StringEncoding)

if let d = strData {
    let urlStr = String(data: d,encoding: NSUTF8StringEncoding)

    do {
        let json = try NSJSONSerialization.JSONObjectWithData(d,options: NSJSONReadingOptions.AllowFragments)
    } catch let e {
        print(e)
    }
} else {
    print("data error")
}
123

是一个有效的JSON编号,因此如果.AllowFragments,则可以将其读作JSON
选项已设置. JSON字符串必须用引号括起来:
(详见http://www.json.org):

"abc"

在Swift字符串文字中,这些引号是使用转义的
反斜线:

let str = ""abc"" // OK!
let strData = str.dataUsingEncoding(NSUTF8StringEncoding)
// ...

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读