json对象中的html标签
Posted
技术标签:
【中文标题】json对象中的html标签【英文标题】:Html tag in json object 【发布时间】:2017-08-09 02:43:36 【问题描述】:我开始了一个新项目。这是我第一次看到以下 Web 服务输出。以下 json 对象文本包含 html 标记。
我想知道您如何将其解析为字符串,或者您如何知道段落的开头?还是您认为我应该联系网络服务开发人员来解决这个问题?
【问题讨论】:
这似乎是为了显示而竞争,因此包含标记,不是吗?你能更详细地说一下你想要达到的目标吗? 这是一个新闻应用程序,我想将此文本与图像一起显示给应用程序用户。 好的,如果这种格式不适用于您的目的,那么您应该构建一个正则表达式来匹配标签之间的位。或者等待更了解 ios 开发的人加入 ;-)
【参考方案1】:你可以使用
NSDictionary *JSON = [NSJSONSerialization JSONObjectWithData: responseData options: NSJSONReadingMutableContainers error: &e];
将数据转换成字典。然后,您可以通过使用 NSArray/NSDictionary 遍历字典树来访问“icerik”的值。对于您的案例, 第一个嵌套是带有数组对象的关键“新闻”字典。因此,您可以从中取出数组:
NSArray *newsArray = [JSON objectForKey:@"news"];
然后你通过获取另一个字典来获取第一个新闻:
NSDictionary *firstNews = [newsArray objectAtIndex:0];
那么你就可以得到icerik了:
NSString *icerik = [firstNews objectForKey:@"icerik"];
一旦你得到字符串的值,你需要对它做一些字符串操作(有很多方法)
【讨论】:
【参考方案2】:你可以得到你的html字符串
NSDictionary *json = [NSJSONSerialization JSONObjectWithData: responseData options: NSJSONReadingMutableContainers error: &e];
NSString *icerik = json[@"news"][0][@"icerik"];
您可以使用 UIWebView 或 UITextView 来加载 html 字符串。
NSString *myHTML = [NSString stringWithFormat:@"<html><body>%@</body></html>" ,icerik ];
[yourWebView loadHTMLString:myHTML baseURL:nil];
【讨论】:
以上是关于json对象中的html标签的主要内容,如果未能解决你的问题,请参考以下文章
如何从 Laravel 中的响应 JSON 中删除 HTML 标签 [关闭]