假设我向我的 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/