这篇文章将为大家详细讲解有关android中怎么利用jsonReader解析json,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
对于这个json:
{ "id" : "3232", "data" : [{ "data1" : "555", "data2" : "3243" }, { "data1" : "888", "data2" : "777" }] }
我们可以这样来解析:
import java.io.IOException; import java.io.InputStream; import java.io.Reader; import java.io.StringReader; import com.google.gson.stream.JsonReader; import android.app.Activity; import android.content.Context; import android.os.Bundle; public class TestActivity1 extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); parseAssertData(); } 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()); parseResponse(response); } catch (IOException ex) { ex.printStackTrace(); } } private void parseResponse(Reader response) throws IOException { JsonReader reader = new JsonReader(response); reader.beginObject(); while (reader.hasNext()) { String name = reader.nextName(); if ("id".equals(name)) { String id = reader.nextString(); System.out.println("===id="+id); } else if (name.equals("data")) { reader.beginArray(); while (reader.hasNext()) { reader.beginObject(); String name1; while (reader.hasNext()) { name1 = reader.nextName(); if (name1.equals("data1")) { String s1 = reader.nextString(); System.out.println("===s1="+s1); } else if (name1.equals("data2")) { String s2 = reader.nextString(); System.out.println("===s2="+s2); } else { reader.skipValue(); } } reader.endObject(); } reader.endArray(); } else { reader.skipValue(); } } reader.endObject(); reader.close(); } }
关于android中怎么利用jsonReader解析json就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。