java 解析json字符串格式 [{}]

java 解析json字符串格式 [{}],第1张

你在哪里解析
1、Java类里面:JSONObject jsonObject = new JSONObject(str);
然后用Iterator迭代器遍历取值,建议用反射机制解析到封装好的对象
2、javascript:JSONparse(str);
ie8(兼容模式),ie7和ie6没有JSON对象,不过>import orgjsonJSONObject;
        try {
            JSONObject json = new JSONObject();
            int totalProperty = jsongetInt("totalProperty");
            JSONObject root = jsongetJSONObject("root");
        } catch (Exception e) {
            // TODO Auto-generated catch block
            eprintStackTrace();
        }

要取什么值就用getXXX的方法来取

/简单的回了复杂的也就会了/
/其实,json实际上是用来统一数据格式,所以,在使用它时,肯定要设计一下格式,
当然,所谓的复杂,只是嵌套的层次深了。。。解析方式并没有变。。个人理解,如果觉得有价值就看,没价值,就当没看见吧。。
呵呵。。
/
import javautilArrayList;
import javautilHashMap;
import javautilIterator;
import javautilMap;
import netsfezmorphbeanMorphDynaBean;
import netsfjsonJSONArray;
import netsfjsonJSONSerializer;
/
@author John

/
public class JSONDemo {

public static final String PREFIX = "index_";
/
@param args
/
public static void main(String[] args) {
Map map = new HashMap();
String str ="[{'status': 5,'remarks': '\\xe6\\xa3\\x80\\xe6\\xb5\\x8b\\xe5\\xb7\\xb2\\xe7\\xbb\\x8f\\xe5\\xae\\x8c\\xe6\\x88\\x90','session': \"(1, '92010', '192168177115', 1521L, 'ora9', 1, '')\",'vuls': [\"('612300200001', 1, '', [{'values': '['version']', 'type': 0}, {'values': \'['%E7%89%88%E6%9C%AC%E5%8F%B7']\', 'type': 1}])\",\"('612300200002', 1, '', [{'values': '['version']', 'type': 0},{'values': '['%E7%89%88%E6%9C%AC%E5%8F%B7']', 'type': 1},{'values': '['92010']', 'type': 2}])\"], 'endTime':123}, 1L, '\\xe6\\xb5\\x8b\\xe8\\xaf\\x95\\xe6\\x89\\xab\\xe6\\x8f\\x8f\\xe4\\xbb\\xbb\\xe5\\x8a\\xa1']";

Systemoutprintln("json格式字符串-->"+str);
JSONArray array = JSONArrayfromObject(str);
Systemoutprintln("json格式字符串构造json数组元素的个数-->"+arraysize());
ArrayList list = (ArrayList) JSONSerializertoJava(array);

int i = 0;
for (Object obj : list) {
mapput(PREFIX+(i++), obj);
Systemoutprintln("第"+i+"对象-->"+obj);
}
//解析第0个位置
Map bd = new HashMap();
MorphDynaBean bean = (MorphDynaBean) mapget(PREFIX+0);
bdput("session", beanget("session"));
bdput("status", beanget("status"));
bdput("remarks", beanget("remarks"));
bdput("vuls", beanget("vuls"));
bdput("endTime", beanget("endTime"));
Iterator iter = bdkeySet()iterator();
while (iterhasNext()){
Object key = iternext();
Object value = bdget(key);
Systemoutprintln("MorphDynaBean对象-->key="+key+",value="+value);
}

//解析vuls
ArrayList vuls = (ArrayList) bdget("vuls");
Map vl = new HashMap();
int j = 0;
for (Object obj : vuls) {
vlput(PREFIX+(j++), obj);
Systemoutprintln("解析vuls的第"+i+"对象-->"+obj);
}

}
}
/
json格式字符串-->[{'status': 5,'remarks': '\xe6\xa3\x80\xe6\xb5\x8b\xe5\xb7\xb2\xe7\xbb\x8f\xe5\xae\x8c\xe6\x88\x90','session': "(1, '92010', '192168177115', 1521L, 'ora9', 1, '')",'vuls': ["('612300200001', 1, '', [{'values': '['version']', 'type': 0}, {'values': '['%E7%89%88%E6%9C%AC%E5%8F%B7']', 'type': 1}])","('612300200002', 1, '', [{'values': '['version']', 'type': 0},{'values': '['%E7%89%88%E6%9C%AC%E5%8F%B7']', 'type': 1},{'values': '['92010']', 'type': 2}])"], 'endTime':123}, 1L, '\xe6\xb5\x8b\xe8\xaf\x95\xe6\x89\xab\xe6\x8f\x8f\xe4\xbb\xbb\xe5\x8a\xa1']
json格式字符串构造json数组元素的个数-->3
第1对象-->netsfezmorphbeanMorphDynaBean@94948a[
{session=(1, '92010', '192168177115', 1521L, 'ora9', 1, ''), status=5, remarks=·, vuls=[('612300200001', 1, '', [{'values': '['version']', 'type': 0}, {'values': '['%E7%89%88%E6%9C%AC%E5%8F%B7']', 'type': 1}]), ('612300200002', 1, '', [{'values': '['version']', 'type': 0},{'values': '['%E7%89%88%E6%9C%AC%E5%8F%B7']', 'type': 1},{'values': '['92010']', 'type': 2}])], endTime=123}
]
第2对象-->1L
第3对象-->è
MorphDynaBean对象-->key=status,value=5
MorphDynaBean对象-->key=session,value=(1, '92010', '192168177115', 1521L, 'ora9', 1, '')
MorphDynaBean对象-->key=remarks,value=·
MorphDynaBean对象-->key=vuls,value=[('612300200001', 1, '', [{'values': '['version']', 'type': 0}, {'values': '['%E7%89%88%E6%9C%AC%E5%8F%B7']', 'type': 1}]), ('612300200002', 1, '', [{'values': '['version']', 'type': 0},{'values': '['%E7%89%88%E6%9C%AC%E5%8F%B7']', 'type': 1},{'values': '['92010']', 'type': 2}])]
MorphDynaBean对象-->key=endTime,value=123
解析vuls的第3对象-->('612300200001', 1, '', [{'values': '['version']', 'type': 0}, {'values': '['%E7%89%88%E6%9C%AC%E5%8F%B7']', 'type': 1}])
解析vuls的第3对象-->('612300200002', 1, '', [{'values': '['version']', 'type': 0},{'values': '['%E7%89%88%E6%9C%AC%E5%8F%B7']', 'type': 1},{'values': '['92010']', 'type': 2}])
/

JSONObject dataJson=new JSONObject("你的Json数据“);
JSONObject response=dataJsongetJSONObject("response");
JSONArray data=responsegetJSONArray("data");
JSONObject info=datagetJSONObject(0);
String province=infogetString("province");
String city=infogetString("city");
String district=infogetString("district");
String address=infogetString("address");
Systemoutprintln(province+city+district+address);


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/13383837.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-25
下一篇 2023-07-25

发表评论

登录后才能评论

评论列表(0条)

保存