我有一个JSON字符串(来自PHP的json_encode()看起来像这样:
[{"id": "1", "name":"Aaa"}, {"id": "2", "name":"Bbb"}]
Run Code Online (Sandbox Code Playgroud)
我想将其解析为我的iPhone应用程序的某种数据结构.我想对我来说最好的事情就是拥有一个字典数组,所以数组中的第0个元素是一个带键"id" => "1"和字典的字典"name" => "Aaa".
我不明白如何NSJSONSerialization存储数据.到目前为止,这是我的代码:
NSError *e = nil;
NSDictionary *JSON = [NSJSONSerialization
JSONObjectWithData: data
options: NSJSONReadingMutableContainers
error: &e];
Run Code Online (Sandbox Code Playgroud)
这只是我在另一个网站上看到的一个例子.我一直试图JSON通过打印出那些元素和类似的东西来读取对象,但我总是得到EXC_BAD_ACCESS.
我如何使用NSJSONSerialization解析上面的JSON,并将其转换为我提到的数据结构?
有几个不同的方法来去除HTML tags从NSString在Cocoa.
一种方法是将字符串渲染为a NSAttributedString然后抓取渲染的文本.
另一种方法是使用NSXMLDocument's- objectByApplyingXSLTString方法来应用XSLT执行它的变换.
不幸的是,iPhone不支持NSAttributedString或NSXMLDocument.有太多的边缘情况和格式错误的HTML文档让我觉得使用正则表达式或NSScanner.有人有解决方案吗?
一个建议是简单地查找开始和结束标记字符,除非非常简单的情况,否则此方法不起作用.
例如,这些案例(来自同一主题的Perl Cookbook章节)会打破这种方法:
<IMG SRC = "foo.gif" ALT = "A > B">
<!-- <A comment> -->
<script>if (a<b && a>c)</script>
<![INCLUDE CDATA [ >>>>>>>>>>>> ]]>
Run Code Online (Sandbox Code Playgroud)