一、JSON.parseObject是fastjson中的方法,fastjson 是一個性能很好的Java語言實現的JSON解析器和生成器,來自阿里巴巴的工程師開發。其主要特點是:
1、快速:fastjson採用獨創的算法,將parse的速度提升到極致,超過所有基於Java的json庫,包括曾經號稱最快的jackson;
2、強大:Fastjson完全支持https://json.org的標準(也是Google官方網站收錄的參考實現之一);支持各種JDK類型;包括基本類型、JavaBean、Collection、Map、Enum、泛型等;
3、零依賴:沒有依賴其它任何類庫除了JDK,能夠直接運行在Java SE 5.0以上版本;支持Android;開源 (Apache 2.0)。
二、parseObject(String str)的作用:
JSON.parseObject(String str)是將str轉化為相應的JSONObject對象,其中str是“鍵值對”形式的json字符串,轉化為JSONObject對象之後就可以使用其內置的方法,進行各種處理了。
三、FastJson對於JSON格式字符串、JSON對象及JavaBean之間的相互轉換:
1、result格式:
{
"success":"true",
"returnAddress":"123"
}
JSONObject jsonObject=JSON.parseObject(result); //轉換成object
jsonObject.getString("returnAddress") //獲取object中returnAddress字段;
2、result格式:
{
"success":"true",
"data":{
"shop_uid":"123"
}
}
JSONObject shop_user =JSON.parseObject(result);
JSON.parseObject(shop_user.getString("data")).getString("shop_uid")
3、result格式:
{
"success":"true",
"data":[{
"shop_uid":"123"
},
{
"shop_name":"張三"
}]
}
JSONArray detail = JSON.parseArray(result);
for (int i=0; i<detail.size();i++){
if(detail.get(i)!=null||!detail.get(i).equals("")){
JSONArray detailChild =detail.getJSONArray(i);
if(detailChild.getInteger(1)>Integer.valueOf(ship.get("shiptime").toString())){
ship.put("shiptime",detailChild.getInteger(1));
ship.put("desc",detailChild.getString(0));
}
}
}
JSON轉javaBean
1.1 JSONobject=>javaBean
JSONObject contentChild = contentsArray.getJSONObject(i);
QCCustomerScore.CustomerCore customerCore = JSON
.toJavaObject(contentChild, QCCustomerScore.CustomerCore.class);
1.2 String轉javaBean