Json 生成与解析详解及实例代码
Json生成与解析
JSON常用与服务器进行数据交互,JSON中“{}”表示JSONObject,“[]”表示JSONArray
如下json数据:
1{"singers":[
2{"id":"02","name":"tom","gender":"男","tel":["123456","789012"]},
3{"id":"03","name":"jerry","gender":"男","tel":["899999","666666"]},
4{"id":"04","name":"jim","gender":"男","tel":["7777","5555"]},{"id":"05","name":"lily","gender":"女","tel":["222222","111111"]}
5]}
生成json数据代码:
publicStringbuildJson()throwsJSONException{
JSONObjectpersons=newJSONObject();
JSONArraypersonArr=newJSONArray();
JSONObjectperson=newJSONObject();
person.put("id","02");
person.put("name","tom");
person.put("gender","男");
JSONArraytel=newJSONArray();
tel.put("123456");
tel.put("789012");
person.put("tel",tel);
personArr.put(person);
JSONObjectperson2=newJSONObject();
person2.put("id","03");
person2.put("name","jerry");
person2.put("gender","男");
JSONArraytel2=newJSONArray();
tel2.put("899999");
tel2.put("666666");
person2.put("tel",tel2);
personArr.put(person2);
JSONObjectperson3=newJSONObject();
person3.put("id","04");
person3.put("name","jim");
person3.put("gender","男");
JSONArraytel3=newJSONArray();
tel3.put("7777");
tel3.put("5555");
person3.put("tel",tel3);
personArr.put(person3);
JSONObjectperson4=newJSONObject();
person4.put("id","05");
person4.put("name","lily");
person4.put("gender","女");
JSONArraytel4=newJSONArray();
tel4.put("222222");
tel4.put("111111");
person4.put("tel",tel4);
personArr.put(person4);
persons.put("singers",personArr);
returnpersons.toString();
}
解析json数据代码:
privatevoidparseJsonMulti(StringstrResult){
try{
JSONArrayjsonObjs=newJSONObject(strResult).getJSONArray("singers");
Strings="";
for(inti=0;i<jsonObjs.length();i++){
JSONObjectjsonObj=((JSONObject)jsonObjs.opt(i));
intid=jsonObj.getInt("id");
Stringname=jsonObj.getString("name");
Stringgender=jsonObj.getString("gender");
s+="ID号"+id+",姓名:"+name+",性别:"+gender+",电话:";
JSONArraytel=jsonObj.getJSONArray("tel");
for(intj=0;j<tel.length();j++){
s+=tel.getString(j)+"/";
}
s+="\n";
}
tv.setText(s);
}catch(JSONExceptione){
e.printStackTrace();
}
}
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!