首先下载json-simple-1.1.jar包
主要的类为:JSONArray,JSONObject,JSONValue
复杂格式的JSON操作如下:
输出结果如下
输出结果如下
JSONObject是继承Map的,而JSONArray是继承List的,所以你可以用Map和List的标准方式来使用JSONObject和JSONArray。
而JSONValue则可以使用数组也可以用对象。
主要的类为:JSONArray,JSONObject,JSONValue
简单的JSON操作代码示例:
public static void testJSON() {
String jsString = "[\"129653\",\"129664\",\"129660\",\"129665\"]";
//解析json数组字符串
JSONArray ja = (JSONArray)JSONValue.parse(jsString);
for(int i = 0; i < ja.size(); i++) {
System.out.println(ja.get(i) + ":::");
}
//生成JSONArray数组
JSONArray new_ja = new JSONArray();
new_ja.add("aaaa");
new_ja.add("bbbb");
new_ja.add("cccc");
System.out.println(new_ja.toJSONString());
//解析json字符
String objString = "{\"aa\":1,\"cc\":2,\"bb\":3}";
JSONObject jo = (JSONObject)JSONValue.parse(objString);
Iterator iter = jo.keySet().iterator();
while(iter.hasNext()) {
String key = iter.next().toString();
System.out.println("[key=" + key + ", val=" + jo.get(key) + "]");
}
//生成JSONObject对象
JSONObject new_jo = new JSONObject();
new_jo.put("bbb", "ddd");
new_jo.put("bbb0", 1);
new_jo.put("bbb1", 11);
new_jo.put("bbb12", "asflex");
System.out.println(new_jo.toJSONString());
}
复杂格式的JSON操作如下:
将JSON数据写入文件
import java.io.FileWriter;
import java.io.IOException;
import org.json.simple.JSONArray;
import org.json.simple.JSONObject;
public class JsonSimpleExample {
public static void main(String[] args) {
JSONObject obj = new JSONObject();
obj.put("name", "mkyong.com");
obj.put("age", new Integer(100));
JSONArray list = new JSONArray();
list.add("msg 1");
list.add("msg 2");
list.add("msg 3");
obj.put("messages", list);
try {
FileWriter file = new FileWriter("c:\\test.json");
file.write(obj.toJSONString());
file.flush();
file.close();
} catch (IOException e) {
e.printStackTrace();
}
System.out.print(obj);
}
}
输出结果如下
{ "age":100, "name":"mkyong.com", "messages":["msg 1","msg 2","msg 3"] }读出JSON文件
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.Iterator;
import org.json.simple.JSONArray;
import org.json.simple.JSONObject;
import org.json.simple.parser.JSONParser;
import org.json.simple.parser.ParseException;
public class JsonSimpleExample {
public static void main(String[] args) {
JSONParser parser = new JSONParser();
try {
Object obj = parser.parse(new FileReader("c:\\test.json"));
JSONObject jsonObject = (JSONObject) obj;
String name = (String) jsonObject.get("name");
System.out.println(name);
long age = (Long) jsonObject.get("age");
System.out.println(age);
// loop array
JSONArray msg = (JSONArray) jsonObject.get("messages");
Iterator<String> iterator = msg.iterator();
while (iterator.hasNext()) {
System.out.println(iterator.next());
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (ParseException e) {
e.printStackTrace();
}
}
}
输出结果如下
mkyong.com 100 msg 1 msg 2 msg 3