android json 教程 pdf,android用jsonReader来解析json,jsonreaderjson

android用jsonReader来解析json,jsonreaderjson

对于这个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 解析这样的json数据怎解析?

简单的给你做了下解析,具体要解析到什么程度,你自己看吧。大概解析方法就是这样的:

如下:

privatevoid testJson(){

String JsonData = "[{\"id\":[\"386\",\"381\",\"379\",\"377\"],\"num\":[\"386\",\"381\",\"379\",\"377\"]},{\"id\":[\"3860\",\"3810\",\"3790\",\"3770\"],\"num\":[\"3860\",\"3810\",\"3790\",\"3770\"]}]";

JSONObject obj = null;

JSONArray jsonArary;

try {

jsonArary = new JSONArray(JsonData);

for(int i=0;i

obj = jsonArary.getJSONObject(i);

//取ID

JSONArray strID = obj.getJSONArray("id");

for(int j=0;j

Log.v("ID:", strID.get(j).toString());

}

//取num

JSONArray strNum = obj.getJSONArray("num");

for(int k=0;k

Log.v("NUM:", strNum.get(k).toString());

}

}

} catch (JSONException e) {

e.printStackTrace();

}

}

android中这样的JSON数据应该怎解析,

//json我的理解就是一系列键值对,只要KEY值对了,对应数据格式也对了,那就可以了!~JsonObject j = ...//此处是获取json的方法,自定boolean b = j.getBoolean("result");//取出“result”对应的值,这里的结果应该//是"true";JsonArray ja = j.getJsonArray("asks");//取出“asks”对应的值,因为asks对应的值//中含有方括号,所以这是JsonArray型数据,需要取出进一步解析;JsonArray可以与数组//进行比较理解,我个人是这样的,供参考for(int i = 0; i < ja.length(); i++){ JsonArray ja1 = ja.getJsonArray(i);//获取ja中的第一个元素,因为这个元素 //也是jsonArray,所以可以再进一步解析 double d1 = ja1.getDouble(0);//jsonArray中没有getFloat()这个方法 //,自行转型就可以了 double d2 = ja1.getDouble(1);//} 以上,希望对你有所帮助

http://www.dengb.com/Androidjc/859027.htmlwww.dengb.comtruehttp://www.dengb.com/Androidjc/859027.htmlTechArticleandroid用jsonReader来解析json,jsonreaderjson 对于这个json: { id : 3232, data : [{ data1 : 555, data2 : 3243 }, { data1 : 888, data2 : 777 }] } 我们可以这样来解析...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值