我正在向我的服务器发送JSON encoded POST
类型,该服务器在PHP
中读取已发送的信息并在那里对其进行解码。现在,当我对其进行重新编码并将其发送回来时,它可以完美地工作,我可以NSLog
回复,但我的问题是如何获得响应的特定部分?
以下是一个示例回复:
responseString: {"status":"ok","code":0,"original request":{"username":"test"
`,"password":"test"}}`
建议,想法?
答案 0 :(得分:1)
您收到的内容实际上是'对象词典'。您可以按如下方式分隔上述代码中的数据:
首先,使用JSON序列化序列化响应数据,如下所示:
NSError* error;
NSDictionary* responseDictionary = [NSJSONSerialization JSONObjectWithData:returnData options:nil error:&error];
然后您可以根据需要分离字典。
例如,如果要检索“status”的值,您可以使用:
NSString *status = [responseDictionary objectForKey:@"status"];
或者,如果您要检索“原始请求”这是另一个字典,您可以使用:
NSDictionary *originalRequest = [responseDictionary objectForKey:@"original request"];
希望这有帮助!
答案 1 :(得分:0)
从服务器收到的响应是JSON数据。 这是一个关于iOS的JSON解析的优秀教程,有很多教程和如果你浏览文档。
http://www.raywenderlich.com/5492/working-with-json-in-ios-5
在JSON中,“{}”表示字典,“[]”表示数组。所以,试试这个
NSDictionary* originalRequest = [responseString objectForKey:@"original request"];
你可以像这样进一步挖掘,
NSString* username = [originalRequest objectForKey:@"username"];
我强烈建议您阅读一些关于JSON的教程。