在JSON解析中从Web服务获取HTML数据

问题描述

| 我正在对具有不同ID的特定Web服务进行JSON解析,解析返回一些字段,例如\“ Description,unitcost,saleprice,summary等。”在Description字段中,我以HTML格式获取数据,但是HTML结构并不是每个字段都唯一ID, 这些是我正在使用的网址 http://demo.s2commerce.net/DesktopModules/S2Commerce/S2Commerce.svc/rest/ProductID/8/Portal/0 http://demo.s2commerce.net/DesktopModules/S2Commerce/S2Commerce.svc/rest/ProductID/5/Portal/0 我在\“ description \”字段中获取3个网址的数据如下 1。\“ Description \”:\“ <\\ / p> \\ u000d \\ u000a \\ u000d \ u000a此独家版本是宏cer与法拉利之间合作的又一个醒目的标志-两家有着悠久传统的先进公司热情,创新,力量和成功<\\ / p> \\ u000d \\ u000a <\\ / div> \\ u000d \\ u000a \\ u000d \\ u000a独特的版本是宏cer与法拉利之间合作的另一个显着标志,两家宏伟的公司拥有激情,创新,力量和成功的骄人传统。 \ u000a <\\ / div> \\ u000d \\ u000a <\\ / p> \“, 2。\“ Description \”:\“ \ u000d \\ u000a技术先进的傻瓜相机,提供多种开创性技术,例如双重图像稳定,Bright Capture技术和TruePic Turbo,以及功能强大的5倍光学变焦。<\\ / p> \\ u000d \\ u000a <\\ / div> \\ u000d \\ u000a \\ u000d \\ u000aOlympus不断创新,推出了Stylus 750数码相机,这是技术上的尖端傻瓜相机提供多项开创性技术,例如双重图像稳定,Bright Capture技术和TruePic Turbo,以及强大的5倍光学变焦,可融入流线型金属全天候机身设计。具有许多高级功能,其中包括:机械CCD平移图像稳定技术和数字图像稳定技术的先进组合共同作用,以确保在任何情况下均能获得最清晰的图像; \\ u000d \\ u000a *具有新开发镜头的5倍光学变焦镜头保持小巧紧凑的尺寸; \\ u000d \\ u000a * 2.5英寸LCD和Bright Capture Technology显着改善了在弱光条件下的图像合成,捕获和查看; Olympus专有TruePic Turbo图像处理引擎与7.1百万像素图像传感器结合使用,可产生清晰,高质量的p <\\ / p> \\ u000d \\ u000a <\\ / div> 我只想在段落标记之间获得段落。 有人可以建议我这样做吗? 提前致谢     

解决方法

        您可以使用正则表达式。像这样
String description = \"test <p> some \\n string <\\\\/p> skip this <p> another <\\\\/p> not in range\";

...

if (!\"\".equals(description)) {
  Pattern p = Pattern.compile(\"\\\\Q<p>\\\\E[\\\\w|\\\\s]*\\\\Q<\\\\/p>\\\\E\");
  Matcher m = p.matcher(description);
  while (m.find()) { 
    String ptag = m.group(); 
    Log.d(\"regex\",ptag);
  } 
}
这将在
<p>
<\\/p>
之间找到文本的每个部分。也许您需要进行一些修改。查看文档中所有受支持的RegEx说明     ,        请看此链接。 TextView内可以有多种样式吗? 您只需要将从json解析的字符串数据设置为此文本视图。     

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...