yue1liang1chuan 2013-02-03 06:04 采纳率: 0%
浏览 6020
已采纳

转换后JSON响应获取空值

转换为NSArray后,JSOn响应得到的是空值

JSON Response :

JSON Log :

[
  {
    "0": "41",
    "intid": "41",
    "1": "\u8a00\u3046",
    "varfirstname": "\u8a00\u3046",
    "2": "test",
    "varlastname": "test",
    "3": "\u5730",
    "varusername": "\u5730",
    "4": "abc@gmail.com",
    "varemailid": "abc@gmail.com",
    "5": "qwert",
    "varpassword": "qwert",
    "6": "12345",
    "varmobileno": "12345",
    "7": "Enable",
    "mobileMessage": "Enable",
    "8": "",
    "varphoneno": "",
    "9": "Enable",
    "enumstatus": "Enable",
    "10": "2013-01-30",
    "date_insert": "2013-01-30",
    "11": "2013-01-30",
    "date_edit": "2013-01-30",
    "12": "210.211.252.1",
    "varipaddress": "210.211.252.1"
  }
]

转换NSArray如下:

// Create new SBJSON parser object 
SBJSON *parser = [[SBJSON alloc] init];  
NSArray *array = (NSArray *) [parser objectWithString:json_string error:nil];
NSLog(@"Array === %@",array);

Array显示数据:

Log :

Array ===
(
    {
    0 = 41;
    1 = "";
    10 = "2013-01-30";
    11 = "2013-01-30";
    12 = "210.211.252.1";
    2 = test;
    3 = "";
    4 = "abc@gmail.com";
    5 = qwert;
    6 = 12345;
    7 = Enable;
    8 = "";
    9 = Enable;
    "date_edit" = "2013-01-30";
    "date_insert" = "2013-01-30";
    enumstatus = Enable;
    intid = 41;
    mobileMessage = Enable;
    varemailid = "abc@gmail.com";
    varfirstname = "";
    varipaddress = "210.211.252.1";
    varlastname = test;
    varmobileno = 12345;
    varpassword = qwert;
    varphoneno = "";
    varusername = "";
})

转换** VarfirstName **如下:

NSDictionary *dataObject=[array objectAtIndex:0];
NSString *status = [dataObject objectForKey:@"varfirstname"];
NSLog(@"status -- %@",status);
NSString *myDecodedS = status;
NSString *myDecoded = [myDecodedS stringByReplacingPercentEscapesUsingEncoding:NSUTF16StringEncoding];
NSLog(@"HIIii %@",myDecoded);
  • 写回答

2条回答

  • g989_1314125 2013-02-03 07:36
    关注

    把json复制到text文件中,转换回数据,使用NSJSONSerialization类,

    - (void)viewDidLoad {
        [super viewDidLoad];
        NSError *error;
        NSData *data = [[NSData alloc]initWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"json" ofType:@"txt"]];
        id jsonObj = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:&error];
        NSLog(@"%@",jsonObj);
        NSLog(@"%@",jsonObj[0][@"varfirstname"]);
    }
    

    log输出如下:

    2013-02-01 22:47:40.361 JSONExperiment[4200:c07] (
            {
            0 = 41;
            1 = "\U8a00\U3046";
            10 = "2013-01-30";
            11 = "2013-01-30";
            12 = "210.211.252.1";
            2 = test;
            3 = "\U5730";
            4 = "abc@gmail.com";
            5 = qwert;
            6 = 12345;
            7 = Enable;
            8 = "";
            9 = Enable;
            "date_edit" = "2013-01-30";
            "date_insert" = "2013-01-30";
            enumstatus = Enable;
            intid = 41;
            mobileMessage = Enable;
            varemailid = "abc@gmail.com";
            varfirstname = "\U8a00\U3046";
            varipaddress = "210.211.252.1";
            varlastname = test;
            varmobileno = 12345;
            varpassword = qwert;
            varphoneno = "";
            varusername = "\U5730";
        }
    )
    2013-02-01 22:47:40.363 JSONExperiment[4200:c07] 言う
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 C++使用Gunplot
  • ¥15 这个电路是如何实现路灯控制器的,原理是什么,怎么求解灯亮起后熄灭的时间如图?
  • ¥15 matlab数字图像处理频率域滤波
  • ¥15 在abaqus做了二维正交切削模型,给刀具添加了超声振动条件后输出切削力为什么比普通切削增大这么多
  • ¥15 ELGamal和paillier计算效率谁快?
  • ¥15 file converter 转换格式失败 报错 Error marking filters as finished,如何解决?
  • ¥15 Arcgis相交分析无法绘制一个或多个图形
  • ¥15 关于#r语言#的问题:差异分析前数据准备,报错Error in data[, sampleName1] : subscript out of bounds请问怎么解决呀以下是全部代码:
  • ¥15 seatunnel-web使用SQL组件时候后台报错,无法找到表格
  • ¥15 fpga自动售货机数码管(相关搜索:数字时钟)