这篇文章将为大家详细讲解有关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就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。