Android json数据解析详解及实例代码
程序员文章站
2023-12-17 20:18:10
android json数据解析详解
移动开发经常要与服务器数据交互,也常使用json数据格式,那就说说android json解析。
1.最简单jso...
android json数据解析详解
移动开发经常要与服务器数据交互,也常使用json数据格式,那就说说android json解析。
1.最简单json格式解析如下:
//解析json ry { jsontokener jsonparser = new jsontokener(strresult); jsonobject jsonobj = (jsonobject) jsonparser.nextvalue(); string strsportstitle = jsonobj.getstring("sportstitle"); int nid= jsonobj.getint("id"); } catch (jsonexception e) { system.out.println("json parse error"); e.printstacktrace(); }
字符串strresult就是需要解析json数据了。用过json数据格式都知道,json数据格式是一个键对应一个值。你可以先打印出原始数据strresult,就知道jsonobj.getstring("sportstitle");这双引号里面键是什么。
2.数组形式json数据解析如下:
try { jsonarray jsonarray = new jsonarray(strresult); for (int i = 0; i < jsonarray.length(); i++) { jsonobject jsonobj = jsonarray.optjsonobject(i); id[i] = jsonobj.getint("id"); time[i] = jsonobj.getstring("time"); users[i] = jsonobj.getstring("users"); roomtitle[i] = jsonobj.getstring("roomtitle"); } } catch (jsonexception e) { system.out.println("jsons parse error !"); e.printstacktrace(); }
3.json里面嵌套json数据解析如下:
try { jsonarray jsonarray = new jsonarray(strresult); for (int i = 0; i < jsonarray.length(); i++) { jsonobject jsonobj = jsonarray.optjsonobject(i); string strachievement = jsonobj.getstring("achievement"); string strmember = jsonobj.getstring("member"); try { jsontokener jsonparser1 = new jsontokener( achievement); jsonobject jsonobj1 = (jsonobject) jsonparser1 .nextvalue(); nametype[i] = jsonobj1.getstring("name"); type[i] = jsonobj1.getstring("type"); } catch (jsonexception e) { system.out.println("json parse error"); e.printstacktrace(); } } } catch (jsonexception e) { system.out.println("json parse error"); e.printstacktrace(); }
嵌套json数据,其实都是一样的。多解析一次而已。
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!