1. 最简单的样例:
package com.testjson;
import net.sf.json.JSONObject;
/**
* JSON生成和解析样例 1
* @Title: TestJsonDemo01.java
* @Package com.testjson
* @Description: 简单
* @author ywsh
* @date 2015年10月26日 下午5:01:32
*
*/
public class TestJsonDemo01{
/*
* 生成简单的json字符串
*/
public String generateJson(){
String strJson="{'message':'error','errors':'Abnormal system!'}";
return strJson;
}
/*
* 解析json字符串
*/
public void AnalysisJson(){
String strJson=generateJson();
JSONObject object = JSONObject.fromObject(strJson);
String message=(String) object.get("message");
String errors=(String) object.get("errors");
System.out.println(message);
System.out.println(errors);
}
// //测试//
public static void main(String[] args){
new TestJsonDemo01().AnalysisJson();
}
}
输出结果如下:
2.稍复杂的样例:
package com.testjson;
import net.sf.json.JSONObject;
/**
* JSON生成和解析样例 2
* @Title: TestJsonDemo02.java
* @Package com.testjson
* @Description: 稍复杂
* @author ywsh
* @date 2015年10月26日 下午5:01:32
*
*/
public class TestJsonDemo02{
/*
* 生成简单的json字符串
*/
public String generateJson(){
String strJson="{ 'EBusinessID': '1264395', 'ShipperCode': 'SF', 'Success': true, 'LogisticCode': '92553332566', 'State': '3', 'Traces': [ { 'AcceptTime': '2016-08-27 18:20:29', 'AcceptStation': '顺丰速运 已收取快件', 'Remark': '' }, { 'AcceptTime': '2016-08-27 20:39:16', 'AcceptStation': '快件在【南京雨花台铁心桥营业部】已装车,准备发往 【南京江宁集散中心】', 'Remark': '' } ]}";
return strJson;
}
/*
* 解析json字符串
*/
public void AnalysisJson(){
String strJson=generateJson();
JSONObject jsonObj= JSONObject.fromObject(strJson);
String EBusinessID=(String) jsonObj.get("EBusinessID");//获得AcceptTime的值
String ShipperCode=(String) jsonObj.get("ShipperCode");//获得ShipperCode的值
boolean success= (Boolean) jsonObj.get("Success");//Success获得值
System.out.println("======================================================");
System.out.println("EBusinessID="+EBusinessID+", "+"ShipperCode="+ShipperCode+", "+"success="+success+" ");
System.out.println("======================================================");
JSONArray tracesArray=jsonObj.getJSONArray("Traces");//获得Traces的JSON对象数组
JSONObject tracesJsonObj =null;
//遍历Traces的JSON对象数组
for(int i=0;i<tracesArray.size();i++){
tracesJsonObj=tracesArray.getJSONObject(i);
String AcceptTime=(String) tracesJsonObj.get("AcceptTime");//获得AcceptTime的值
String AcceptStation=(String) tracesJsonObj.get("AcceptStation");//获得AcceptStation的值
String Remark=(String) tracesJsonObj.get("Remark");//获得Remark的值
System.out.println(AcceptTime+" "+AcceptStation+" "+Remark);
}
}
// //测试//
public static void main(String[] args){
new TestJsonDemo02().AnalysisJson();
}
}
输出结果如下:
转载于:https://blog.51cto.com/yaowusheng/1853908