我是照搬 视频里面的 测试通过
public void readerLocalJson() {
String localJsonName = "test.json";
JsonReader jreader = new JsonReader(new StringReader(readString(localJsonName)));
try {
jreader.beginObject();
while (jreader.hasNext()) {
String name = jreader.nextName();
if (name.equals("Data")) {
circleJson(jreader);
} else {
System.out.println(name jreader.nextString());
}
}
jreader.endObject();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
// 循环解析数组
public void circleJson(JsonReader jsonReader) {
try {
jsonReader.beginArray();
jsonReader.beginObject();
while (jsonReader.hasNext()) {
String name = jsonReader.nextName();
if (name.equals("ProductName")) {
circleJson(jsonReader);
} else {
System.out.println(name jsonReader.nextString());
}
}
jsonReader.endObject();
jsonReader.endArray();
} catch (IOException e) {
Log.e("循环解析数组第一步|circleJson", "失败");
e.printStackTrace();
}
}
//读取本地存储的JSON
private StringBuilder builder;
public String readString(String name) {
InputStreamReader isr;
try {
String line;
isr = new InputStreamReader(getAssets().open(name));
BufferedReader br = new BufferedReader(isr);
builder = new StringBuilder();
while ((line = br.readLine()) != null) {
builder.append(line);
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return builder.toString();
}