gson是指谷歌的json处理工具么?
一般要先定义好一个类,然后使用第三方工具操作,比较方便。
目前恰好使用的是Google的,这边有个样例,可以参考下:public class GoogleJsonTest {
    public static void main(String[] args) {
        Gson gson = new Gson();
        Object myValue = new MyValue("9527", 999.99);        // 对象转为json // String jsonStr = convertObjectToString(myValue);
        String jsonStr = gson.toJson(myValue);
        System.out.println(jsonStr + myValue.getClass());        // json字符串转为对象
        MyValue myValue2 = gson.fromJson(jsonStr, MyValue.class);// 这个应该是你想要的操作吧
        System.out.println(myValue2);
        System.out.println(myValue == myValue2);
        List<Object> myValueList = new ArrayList<Object>();
        myValueList.add(myValue);
        myValueList.add("111");
        myValueList.add(myValue2);        String jsonStrValues = gson.toJson(myValueList);
        System.out.println("jsonStrValues===" + jsonStrValues);
        List<Object> myValueList2 = gson.fromJson(jsonStrValues, List.class);// 有告警
        for (Object obj : myValueList2) {
            System.out.println("obj is===" + obj+":"+obj.getClass());
        }    }
}// 这个是我自定义的一个简单的类,LZ需要自己定义一个类,有Name和Chinese属性
class MyValue {
    private String id;    private double price;    private Detail detail;    public MyValue(String id, double price) {
        this.id = id;
        this.price = price;
        this.detail = new Detail("我的ID是:" + id + "。很高兴认识大家!");
    }    @Override
    public String toString() {
        return "id:" + id + ";price:" + price + ";宣言:" + detail.getMyWords();
    }    private class Detail {
        private String myWords;        public Detail(String myWords) {
            this.myWords = myWords;
        }        public String getMyWords() {
            return myWords;
        }
    }
}

解决方案 »

  1.   

    首先定义两个Javebean,如下:Grade.javapackage com.armslee.json.test.model;import java.io.Serializable;public class Grade implements Serializable{ /**
     * 
     */
    private static final long serialVersionUID = -2118483800595534815L;

    private String chinese;
    private String math;
    private String english; public String getChinese() {
    return chinese;
    } public void setChinese(String chinese) {
    this.chinese = chinese;
    } public String getMath() {
    return math;
    } public void setMath(String math) {
    this.math = math;
    } public String getEnglish() {
    return english;
    } public void setEnglish(String english) {
    this.english = english;
    }

    @Override
    public String toString() {
    return "Chinese:"+this.chinese;
    }}
    Person.java:
    package com.armslee.json.test.model;import java.io.Serializable;public class Person implements Serializable { /**
     * 
     */
    private static final long serialVersionUID = 3254237100070656010L; private String id;
    private String name; private Grade grade; public String getId() {
    return id;
    } public void setId(String id) {
    this.id = id;
    } public String getName() {
    return name;
    } public void setName(String name) {
    this.name = name;
    } public Grade getGrade() {
    return grade;
    } public void setGrade(Grade grade) {
    this.grade = grade;
    }

    @Override
    public String toString() {
    // TODO Auto-generated method stub
    return "Name:"+this.name+" "+this.grade.toString();
    }}Test.java
    package com.armslee.json.test.cases;import java.util.ArrayList;
    import java.util.List;import net.sf.json.JSONArray;import com.armslee.json.test.model.Grade;
    import com.armslee.json.test.model.Person;public class Test { public static void main(String[] args) {
    Person p = new Person();
    p.setId("1");
    p.setName("Lavender");
    Grade g = new Grade();
    g.setChinese("A");
    g.setMath("A");
    g.setEnglish("A");
    p.setGrade(g); List<Person> lp = new ArrayList<Person>();
    lp.add(p);
    lp.add(p);
    lp.add(p);
    String info = JSONArray.fromObject(lp).toString(); JSONArray ja = JSONArray.fromObject(info); @SuppressWarnings({ "unchecked", "deprecation" })
    List<Person> newL = JSONArray.toList(ja, Person.class); for (Person person : newL) {
    System.out.println(person.toString());
    } }}
    输出结果如下:
    Name:Lavender Chinese:A
    Name:Lavender Chinese:A
    Name:Lavender Chinese:A
      

  2.   

    如果就楼主的那个json 解析的话很多种方法都可以的,看下json.org的官网org.json ,json-lib等等很多工具,下载一个试试就好了。