通过Json对象,来解析Json数据的方式其实有很多种方式,这里我只列举了一个,通过把JsonObject转化成JsonArray的形式,然后对数组进行遍历,从而获取每一个数据信息...更多的方式我在博客中也进行了书写,大家可以去看看Android学习笔记之Json的使用...这是第一种通过获取JsonObject从而获取Json数据信息的...
第二种方式:
2.JsonArrayRequest.java
源码也就这点玩意...不是很难理解...
package com.android.volley.toolbox; import com.android.volley.NetworkResponse; import com.android.volley.ParseError; import com.android.volley.Response; import com.android.volley.Response.ErrorListener; import com.android.volley.Response.Listener; import org.json.JSONArray; import org.json.JSONException; import java.io.UnsupportedEncodingException; public class JsonArrayRequest extends JsonRequest<JSONArray> { JsonArrayRequest(String url, Listener<JSONArray> listener, ErrorListener errorListener) { super(Method.GET, url, null, listener, errorListener); } @Override protected Response<JSONArray> parseNetworkResponse(NetworkResponse response) { try { String jsonString = new String(response.data, HttpHeaderParser.parseCharset(response.headers)); return Response.success(new JSONArray(jsonString), HttpHeaderParser.parseCacheHeaders(response)); } catch (UnsupportedEncodingException e) { return Response.error(new ParseError(e)); } catch (JSONException je) { return Response.error(new ParseError(je)); } } } 看一下具体的调用过程...
:8080/JSP/JSON.txt的数据信息如下..
[ {"firstName":"Brett","lastName":"McLaughlin","email":"aaaa"}, {"firstName":"Jason","lastName":"Hunter","email":"bbbb"}, {"firstName":"Elliotte","lastName":"Harold","email":"cccc"} ] 主函数的调用过程...有一些包没有引入,到时候书写时编译器会自动引入的...
这里当请求成功之后,获取到的响应就是JsonArray对象了...然后通过遍历就直接能够获取到JsonArray里保存的数据信息了...这就是解析的另一种方式...直接获取Json数组...从而获取数据信息...
JsonArrayRequest方式和JsonObjectRequest方式模式基本是相同的...只是对Json的数据格式要求并不一样...只需在Json的格式上发生以下简单的变化...
JsonArrayRequest请求的Json数据格式[{},{}]...返回的形式是Json数组..
JsonObjectRequest请求的Json数据格式["名称":[{},{}]]...返回的形式是Json对象..
这样就完成了Json数据的获取+解析..获取过程由Volley实现,解析由我们去实现...
最后我们来看一下父类的源代码...
3.JsonRequest.java