java对json格式的转换(需fastjson包)

(一)从字符串解析JSON对象,取JSON数组再取对象

//需要fastjson包
//从字符串解析JSON对象,取JSON数组再取对象
public class strTojsonobj {
    public static void main(String[] args)  {
        String result = {"code":0,"message":"成功","data":{"total":1,"seals":    [{"sealId":"44cdfeda","fileKey":"$aa02f","width":95,"height":95,"alias":null,"sealType":2,"defaultFlag":true,"url":"https://xxxxx","status":1,"reason":null,"createDate":1610609219000,"sealBizType":"COMMON","sealBizScene":0,"ruleGrantCount":null}]}};

        String seals  = getjson(result, "seals");
        //取JSON数组再取对象
        JSONArray  myList = JSON.parseArray(seals);		 	
        JSONObject jsonObject=myList.getJSONObject(0);  
        String sealId=jsonObject.getString("sealId");  
    }

    public static String getjson(String datalist,String name) throws IOException{
		 String result;
		 JSONObject myList; 			
		 result = "";
    	 //从字符串解析JSON对象
		 myList = JSON.parseObject(datalist);		 
		 JSONObject data = (JSONObject) myList.get("data");
		 result  = data.get(name).toString();
				
		 return result;
	 }
}

(二)JSON对象,JSON数组构成字符串

//需要fastjson包
//从字符串解析JSON对象,取JSON数组再取对象
public class strTojsonobj {
    public static void main(String[] args)  {
        JSONObject objone = new JSONObject();
		JSONObject objtwo = new JSONObject();
		JSONObject objthree = new JSONObject();
		
		ArrayList list = new ArrayList();
        //对象里添加数组
		objone.put("signfields",list);  //{[]}

        //对象里添加对象
        objtwo.put("posPage","1");      //{"posPage":"1"}
		objthree.put("posBean",objtwo); //{"posBean":{"posPage":"1"}}
		objthree.put("signType",1);     //{"posBean":{"posPage":"1"},"signType":1}

        //数组里添加对象
		list.add(objthree);		       //{[{"posBean":{"posPage":"1"},"signType":1}]}

		//将JSON对象转化为字符串
		String signarea  = objone.toJSONString();	
		return signarea;  
    }

  
}

fastjson包:https://gitee.com/gpyjie/public_stroe.git(可以在阿里云那边下载最新的包)

菜鸟(java对json的操作):  https://www.runoob.com/w3cnote/java-json-instro.html

猜你喜欢

转载自blog.csdn.net/qq_33253054/article/details/114096157