objective-c - 将 Json 对象转换为字符串 - Objective C

标签 objective-c json parsing object

假设我向我的 api 发出一个请求,该请求返回一个 mysql_query("Select * from user where id=1")

请求完成后,以json形式返回用户信息。 我做了一些调试,NSlog(@"JSON : %@",json); 它给了我这个:

JSON : (
    {
    aboutme = "";
    active = 0;
    birthday = "1992-10-14";
    "city_id" = 0;
    email = "test@test.com";
    fbid = "";
    firstname = test;
    gender = 1;
    id = 162;
    lastname = test;
    password = "$2a$12$8iy.sGr.4V/Ea3GfHZe0m.SLDrvoSj3/wYRlWsNce1yyCMeCbDrMC";
    "phone_number" = "";
    "recovery_date" = "0000-00-00 00:00:00";
    "register_date" = "2013-06-06 02:44:20";
    salt = "8iy.sGr.4V/Ea3GfHZe0m";
    "user_type_id" = 1;
    username = test;
}
)

现在我用 AFJONDecode 解析它,当我得到 [json valueForKey:@"username"]; 并调试它时( NSlog(@"username = %@",[json valueForKey@"username"]); ) 我明白了:

username = (
    testeteste739
)

它给了我一个对象(因为在 Json 中,username = test 而不是 username = "test")。

那么,如何将这个对象转换为字符串呢?

**更新**

我是通过以下方式解决的:

NSArray *username = [JSON valueForKey:@"username"];
username = [username objectAtIndex:0];

有没有更好的方法来超越这个? 谢谢

最佳答案

由于 JSON 是一个字典对象,因此您可以将 json 数据获取到 JSONDic NSDictionary 变量并将其解析为字符串,如下所示:-

NSDictionary *JSONDic=[[NSDictionary alloc] init];
NSError *error;
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:JSONDic
                                                   options:NSJSONWritingPrettyPrinted 
                                                     error:&error];
NSString *jsonString = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];

关于objective-c - 将 Json 对象转换为字符串 - Objective C,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16952516/

相关文章:

iphone - 如何在iPhone的SQLite 3中添加20多个列

iphone - 如何移除 KVO 观察者?

java - 解析 JSON 数据时应用程序崩溃

javascript - 从 url 访问 JSON 中的对象时遇到问题

javascript - Nodejs 解析获取包含对象 [Symbol(map)] 的响应

R:将字符串解析为矩阵

objective-c - 搜索数组数组的智能方法

iphone - 使用 Objective-C iOS 以编程方式创建 TableVIew

java - 无法解析来自服务器的 JSON 数据

Java DOM 解析器错误