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币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
Android开发中截取某字符串
Android开发中截取某字符串或者路径中的某字符串的方法substr(start,length)、substring(start,end)、charAt(int index)、indexOf(int str,int fromIndex)       substr(start,length) :substr是从起始点截取某个长度的字符串     substring(start,end)
C++ string提取某一段被分割的子串
直接放上题目leetcode71 题目主要是如何提取/和/之间的子串,强行做事可以的,但是很麻烦,所以下面直接放出代码:class Solution { public: string simplifyPath(string path) { vector<string>st; string tmp, res = ""; stringstream
c语言截取字符串中的某段字符串
#include #include #include int  main(void) {       char srcBuf[1024] = {0};       int srcLen = 0;       char* bufTmp = NULL;       char destBuf[128] = {0};      snprintf(srcBuf,1024,"\r\n"
一个字符串里面取某一段字符串
-
java截取指定字符串中的某段字符如何实现?
java截取指定字符串中的某段字符如何实现?  java编程语言编程 专业回答 Liebe_you 2015-05-19 09:35 String str = "房估字(2014)第YPQD0006号"; String jieguo = str.substring(str.indexOf("第")+1,str.indexOf("号")); 分享
matlab截取一段信号的代码
数种以matlab截取一段信号,clear; clc; f0=10000; %用来模拟 模拟信号的 数字信号的采样频率 fs<<f0
如何快速截取某段时间内的日志
在排除故障时,需要分析发生故障的原因,避免再次出现同样的问题,需要对日志进行分析,截取故障前后时间段的日志。通常用正则表达式来获取某段时间的内的日志,比较繁琐。可以通过awk方便简捷的实现。 我这里以截取nginx访问日志为例: 查看21/Jul/2014:14:37:50到21/Jul/2014:14:38:00时间段内bbs.ttlsa.com的访问日志。
Java通过key直接截取json字符串的value,json无需转换
例如想截取scoreClass 这是json数据 "extra_info": { "fm_info": { "riskService": { "reason_code": "001:用户认证", "success": false
Android实现位图剪切
我们不能总是依赖于BitmapFactory 下面告诉大家怎么从Bitmaqp中截取某一部分创建新的Bitmap  系统会有一个默认png图片:icon.png 但是这个图片中最外层会有白色的 比较讨厌 现在以此为例 说说怎么截取 因为其外层为白色 显示不出来 所以我用了 *.9.png 作为其边界     创建Bitmaop 且指向icon.png Bitmap
sed 截取文本段
… begin a b c d … end … 取出每一个begin和end之间的部分,每一对begin和end之间的内容是不一样的 sed -n ‘/^begin/,/end$/p’ file |grep -v begin|grep -v end