操作json对象
//前3行基本是固定写法不用管他
//导入org.json包
import org.json.*;
//获取响应字符串数据
String response = prev.getResponseDataAsString();
//转为JSON对象
JSONObject responsejson = new JSONObject(response);
响应数据格式:responsejson = "{'name':'卢本伟','age':24}";
根据键从json对象中获取值
//String data = responsejson.getString("data");
修改对象
responsejson.put("json字段名称",1);
删除JSON的值
responsejson.remove("json字段名称");
响应数据格式
responsejson ="{'Hero':{'name':'Fizz','position':'Mid','charactor':'killer'}}";
先使用getJSONObject()获取JSONObject对象 , 然后进一步getXxx()解析属性
JSONObject Hero = responsejson .getJSONObject("Hero");
String name = Hero.getString("name");
响应数据格式responsejson == "{'nickNames':['五五开','芦苇','white']}";
先使用getJSONArray()获取JSONArray对象,然后进一步遍历
JSONArray nickNames = responsejson.getJSONArray("nickNames");
for(Object nickName:nickNames){
vars.put("nickName",nickName)
}
响应数据格式responsejson = "{'Honors':[{'year':2011,'name':'TGA总决赛冠军'},{'year':2013,'name':'S3全球总决赛中国区冠军'},{'year':2013,'name':'S3全球总决赛亚军'}]}";
一层层获取即可:先getJSONArray,然后getJSONObject,到了属性,就是getXxx()
JSONArray honors = responsejson.getJSONArray("Honors");
for(int i=0; i<honors.size(); i++){
JSONObject honor = (JSONObject) honors.get(i);
int year = honor.getIntValue("year");
String name = honor.getString("name");
System.out.println(year + "..." + name);
}