如何生成与Objective-C语法兼容的JSON字符串

时间:2013-04-18 10:07:15

标签: iphone ios objective-c json

我需要某种用于objective-c的json字符串生成器。实际上我认为必须有类似的东西,但我找不到任何东西。具体来说,例如我有一个像json字符串:

{"name":"abc","email":"def@ghi.com","password":"1"}

当我想将它存储在目标c中时,我必须将它写成:

@"{\"name\":""\"abc\""",\"email\":""\"def@ghi.com\""",\"password\":""\"1\"""}"

因此令人困惑且难以实施。是否有任何发电机或简单的方法来实现它。感谢

4 个答案:

答案 0 :(得分:1)

将您的json字符串转换为字典...

NSData* data = [yourJsonString dataUsingEncoding:NSUTF8StringEncoding];
            NSDictionary* jsonDict = [NSJSONSerialization
                                      JSONObjectWithData:data
                                      options:kNilOptions
                                      error:&error];
 NSLog(@"jsonDict:%@",jsonDict);

答案 1 :(得分:0)

您可以使用本机ios SDK API从NSDictionary / NSArray生成JSON数据。

如,

NSData *jsondata = [NSJSONSerialization dataWithJSONObject:(dictobject) options:NSJSONWritingPrettyPrinted error:&error];

NSString *str = [[NSString alloc] initWithData:jsondata encoding:NSUTF8StringEncoding];

这可能有帮助!

答案 2 :(得分:0)

使用它 还要导入“JSON.H”

 NSDictionary *googleResponse = [[NSString stringWithContentsOfURL:[NSURL  URLWithString:website] encoding: NSUTF8StringEncoding error: NULL] JSONValue];

答案 3 :(得分:0)

小心......在你原来的问题中,当提到如何将它存储在objective-c中时,我认为你犯了一个错误

你写道:     @ “{\” 名称\ “:” “\” ABC \ “”“

应该是什么时候     @ “{\” 名称\ “:\” ABC \”,...等...

我认为你把报价加倍...要小心,因为在开始时已经有一个开头的双引号@“,所有其他所需的报价必须像这样转义”,然后还有一个结束报价同样。

希望有所帮助