Gson是一种对象的解析json,很好用,介绍一个网站http://json.parser.online.fr/可以帮我们看一个字符串是不是Json

对于Json文件

{
  "id" : "3232",
  "data" : {
    "data1" : {
      "name" : "xiaoming",
      "age" : "12"
    }
    }
  }



如果用Gson来解析的话,就要定义与这个json节点对应的类,我们用MyData来表示解析完的json对象,Data来代表解析完data节点的对象,Data1类来代表data1节点的对象

public class MyData {
	int <strong>id</strong>;
	Data <strong>data</strong>;
}
public class Data {

	Data1 <strong>data1</strong>;
}
public class Data1 {

	String <strong>name</strong>;
	String <strong>age</strong>;
}



注意,成员变量的名字一定要跟节点的名字一样(加粗的字符)

我们把json文件放在assets下,解析的时候这样写:

public void parseAssertData() {
		InputStream is = null;
		try {
			is = this.getAssets().open("ss.json", Context.MODE_PRIVATE);
			int length = is.available();
			byte[] buffer = new byte[length];
			is.read(buffer);
			String temp = new String(buffer);

			Reader response = new StringReader(temp.toString());
			Gson gson = new Gson();
			MyData mydata = gson.fromJson(response,MyData.class);
			System.out.println("===age="+mydata.data.data1.age);
			
		} catch (IOException ex) {
			ex.printStackTrace();
		}
	}