public static void main(String[] args) {
String data = "{\n" +
" \"id\": \"1\",\n" +
" \"bookName\": \"《深入Java虚拟机》\",\n" +
" \"bookList\": [\n" +
" {\n" +
" \"id\": \"1\",\n" +
" \"bookName\": \"《深入Java虚拟机》\"\n" +
" },\n" +
" {\n" +
" \"id\": \"2\",\n" +
" \"bookName\": \"《OpenCV进阶》\"\n" +
" },\n" +
" {\n" +
" \"id\": \"3\",\n" +
" \"bookName\": \"《深入Android源代码》\"\n" +
" }\n" +
" ],\n" +
" \"args\": [\n" +
" \"《深入Java虚拟机》\",\n" +
" \"《Android插件编程》\",\n" +
" \"《OpenCV全解》\"\n" +
" ]\n" +
"}";
JSONObject jsonObject = JSONObject.parseObject(data);
String test1=jsonObject.getString("id");
String test2=jsonObject.getString("bookName");
JSONArray jsonArray = jsonObject.getJSONArray("bookList");
JSONObject jsonObject1 = jsonArray.getJSONObject(0);
String id = jsonObject1.getString("id");
System.out.println(test1);
System.out.println(id);
}
这里顺便讲下,如果使用Gson如何解析json字符串呢(不采用json字符串转换成javaBean方式):
public static void main(String[] args) {
String data = "{\n" +
" \"id\": \"1\",\n" +
" \"bookName\": \"《深入Java虚拟机》\",\n" +
" \"bookList\": [\n" +
" {\n" +
" \"id\": \"1\",\n" +
" \"bookName\": \"《深入Java虚拟机》\"\n" +
" },\n" +
" {\n" +
" \"id\": \"2\",\n" +
" \"bookName\": \"《OpenCV进阶》\"\n" +
" },\n" +
" {\n" +
" \"id\": \"3\",\n" +
" \"bookName\": \"《深入Android源代码》\"\n" +
" }\n" +
" ],\n" +
" \"args\": [\n" +
" \"《深入Java虚拟机》\",\n" +
" \"《Android插件编程》\",\n" +
" \"《OpenCV全解》\"\n" +
" ]\n" +
"}";
Gson gson = new GsonBuilder().setPrettyPrinting().create();
JsonObject jsonObject = gson.fromJson(data, JsonObject.class);
String id = jsonObject.get("id").getAsString();
JsonArray bookList = jsonObject.get("bookList").getAsJsonArray();
JsonObject jsonObject2 = bookList.get(0).getAsJsonObject();
String id1 = jsonObject2.get("id").getAsString();
System.out.println(id);//1
System.out.println(id1);//1
}