json数据格式常用解析和封装方式

JSON数据格式:使用Android自带的JSONO相关API进行解析  JSONObject、JSONArray

                    //用JSON表示一个对象,用{}

String json1 = "{id:1,name:'哈哈',sal:8000}";

 

//将json字符串转成JSONObject对象

JSONObject jsonObject = new JSONObject(json);

//如果属性为int类型,就用getInt(),参数为:属性名

int id = jsonObject.getInt("id");

//如果属性为String类型,就用getString(),参数为:属性名

String name = jsonObject.getString("name");

 

//用JSON表示一个数组,用[]

String json2 = "['上海','北京','深圳','广州']";

 

//用JSON表示一个对象,但对象的属性是数组{[]}

String json3 = "{id:1,name:'赵君',citys:['上海','北京','深圳','广州']}";

List<String> cityList = newArrayList<String>();

JSONObject jsonObject = new JSONObject(json3);

JSONArray jsonArray =jsonObject.getJSONArray("citys");

for(int i=0;i<jsonArray.length();i++){

String city = jsonArray.getString(i);

cityList.add(city);

}

 

//用JSON表示一个数组,但数组中的元素是对象[{}]

String json4 ="[{id:1,name:'哈哈'},{id:2,name:'呵呵'},{id:3,name:'嘻嘻'}]";

//创建一个JSON数组,JSONArray

JSONArray jsonArray = new JSONArray(json4);

//迭代=循环

for(int i=0;i<jsonArray.length();i++){

//获取每一个JSON对象,参数一:索引号,从0开始

JSONObject jsonObject = jsonArray.getJSONObject(i);

//因为"哈哈"这个属性值是字符串类型,用getString()

String name = jsonObject.getString("name");

System.out.println(name);

}

 

谷歌GSON使用:

{"showapi_res_code":0,"showapi_res_error":"","showapi_res_body":{"ret_code":0,"num":1300630,"prov":"湖北","name":"联通","provCode":"420000","type":3,"city":"武汉"}};

Gson gson = new Gson();

final AddressInfo addressinfo =gson.fromJson(jsonResult, AddressInfo.class);

JavaBean创建的时候属性名称需要与JSON字符串中的属性名称一模一样

public class AddressInfo {

// 手工

public String showapi_res_code;

public String showapi_res_error;

public ShowBody showapi_res_body;

public static class ShowBody{

public String city;

public String name;

public String num;

public String prov;

public String provCode;

int ret_code;

int type;

}

}


阿里巴巴fastjson使用:

JavaBean创建的时候属性名称需要与JSON字符串中的属性名称一模一样

                  集合转换成json字符串: 

public voidsetWordBook(List<WordBean> listWb) {

// 数据集合转换成JSON格式字符串

String jsonStr =JSON.toJSONString(listWb);

}

 

                  Json字符串转换成集合:

List<MenuSelBean> list = newArrayList<MenuSelBean>();

String jsonStr = inputFile(fileState(MENUSEL_FILE));

if( !jsonStr.equals("") ){

list = JSON.parseArray(jsonStr , MenuSelBean.class);

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值