0

我想创建像 {"search_element": "New York"} 这样的 JSON 字符串。我为此使用了以下代码。

 NSString *JSONString = [NSString stringWithFormat:@"{\"search_element\":""\"%@\"""}",
                            [searchName stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]]; 

这样做之后,我得到了像 {"search_element":"New%20York"} 这样的价值。我希望它应该是纽约而不是 New%20York。我没有得到如何格式化它以获得预期的结果。请帮助我。

4

2 回答 2

1

你就不能这样用吗?

NSString *JSONString = [NSString stringWithFormat:@"{\"search_element\":""\"%@\"""}", searchName];

所以基本上没有stringByAddingPercentEscapesUsingEncoding:方法

而且我真的不明白你为什么要使用它:

@"{\"search_element\":""\"%@\"""}"

我会用更少的引号来做:

@"{\"search_element\":\"%@\"}"

做了一个快速测试:

NSString *test = @"{\"search_element\":\"%@\"}";
NSLog(test, @"New York");

输出:

{"search_element":"New York"}

希望能帮助到你

于 2012-05-04T13:57:07.670 回答
0

你可以简单地调用下一个

    NSString *newString = [JSONString stringByReplacingOccurrencesOfString:@"%20" withString:@""];

但是查看JSONKitSBJSON ..他们有在 iOS 中生成有效 JSON 的方法

于 2012-05-04T13:55:26.833 回答