【问题标题】:NSJSONSerialization: "No value" errorNSJSONSerialization:“无值”错误
【发布时间】:2017-03-17 01:49:02
【问题描述】:

我使用NSJSONSerialization 在 ios 应用程序中转换NSdata

这是我的代码:

[NSURLConnection sendAsynchronousRequest:req queue:[NSOperationQueue mainQueue]
completionHandler:^(NSURLResponse *response, NSData *data, NSError *error)
{ // getting 1 byte data
    if (error)
    {
    }
    else
    {
        NSError *errorData = nil;
        id responseObject1 = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:&errorData];

        // error : Error Domain=NSCocoaErrorDomain Code=3840 "The operation couldn’t be completed. (Cocoa error 3840.)" (No value.) UserInfo=0x78e43130 {NSDebugDescription=No value.}

        if (!errorData)
        {
        } ......
    }
}

这是我的 json 数据:

{"root":{"status":true,"info":"Inserted"}}

发送请求后我得到 1 个字节的数据。

但它不会转换数据。它在解析时给出“无值”错误:

Error Domain=NSCocoaErrorDomain Code=3840“操作无法完成。(Cocoa 错误 3840。)”(无值。) UserInfo=0x78e43130 {NSDebugDescription=无值。}

请帮帮我:有什么问题?

【问题讨论】:

  • 获取一字节数据?你的意思是 [数据长度] = 1 ?真的吗?哪一个?响应后它应该如何是有效的 JSON?
  • 试试:[NSJSONSerialization JSONObjectWithData:data options:0 error:&errorData];
  • 如果你NSLog(@"%@", data),你会得到什么?

标签: ios objective-c json parsing nsjsonserialization


【解决方案1】:

试试这个

id responseObject1 = [NSJSONSerialization JSONObjectWithData:data options: NSJSONReadingAllowFragments error:&errorData];

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-03-19
    • 1970-01-01
    • 2012-04-04
    • 2013-02-21
    • 2014-09-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多