2 wzd33577 wzd33577 于 2016.03.04 18:43 提问

Android开发中截取某一段json字符串

{"result":0,"Employe":"{\"XXX\":\"云南省昆明市五华区海屯路296号\",\"XXX\":\"网络招聘\",\"XXX\":\"汉族\",\"XXX\":\"通过\",\"XXX\":\"13877972996\"}"}

如上,我在服务器返回了一段字符串,但XXX是我提前不知道的一些字符串,例如有时候XXX是name或者adress等等,现在我希望截取到:云南省昆明市五华区海屯路296号,网络招聘,汉族,通过,13877972996这些信息,应该怎么截取

用json框架?或者正则表达式?求教

3个回答

qijian0503
qijian0503   2016.03.05 10:13

Json 解析的基本原理就是 key-value

我给你一个解决方案, 你把 name、adress ... 都写到最终解析的基类中的属性。希望对你有帮助。

wzd33577
wzd33577 有几百个属性,而且还会动态更新
接近 2 年之前 回复
wojiushiwo945you
wojiushiwo945you   Ds   Rxr 2016.03.05 13:17

首先,你已经确定这个文本信息是JSON格式的了,可以用JSON解析工具;
其次,你要解析的内容就是这个JSON数据就是Employe属性的值,再进行一层解析,得到Employe对应的JSON对象

 Employe":"{\"XXX\":\"云南省昆明市五华区海屯路296号\",\"XXX\":\"网络招聘\",\"XXX\":\"汉族\",\"XXX\":\"通过\",\"XXX\":\"13877972996\"}"}

然后取这个对象的,再解析这个json对象得到你XX的key对应的值。

wzd33577
wzd33577 回复毕小宝: 是动态的,可能今天xxx组是adress,name,age,明天就是email,tel,info等等
接近 2 年之前 回复
wojiushiwo945you
wojiushiwo945you 回复wzd33577: 不会吧,但是你省略的XXX貌似都是固定的地址,途径,名族,电话等啊。
接近 2 年之前 回复
wzd33577
wzd33577 json的key都不知道,是动态改变的
接近 2 年之前 回复
wojiushiwo945you
wojiushiwo945you 回复wzd33577: 能啊,能取到json的话,不就知道json格式了吗,主要的json的key都知道了吧。
接近 2 年之前 回复
wzd33577
wzd33577 不知道xx是啥都能解析吗?之前我只能根据xx的确定值来取值
接近 2 年之前 回复
daweibalang717
daweibalang717   2016.03.19 16:27
    JSONObject obj = new JSONObject(json);
    Iterator it = obj.keys();
    获取XXX的集合,然后再根据Key 取值
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!