android中json得解析

今天按照书上试了试json的解析

这里使用了两种方法来对json数据进行解析

1.利用JSONObject来解析 2.利用谷歌的开源库GSON来进行解析

一、利用JSONObject来进行解析

在服务器下建立json文件get_data.json如下:

{
"employees": [
{ "firstName":"Bill" , "lastName":"Gates" },
{ "firstName":"George" , "lastName":"Bush" },
{ "firstName":"Thomas" , "lastName":"Carter" }
],
"result":[
{"id":"5","version":"5.5","name":"Angry Birds"},
{"id":"6","version":"7.0","name":"Clash of Clans"},
{"id":"7","version":"3.5","name":"Hey Day"}
]
}

然后再项目中建立代码:主要代码如下:

..................................

private void sendRequestWithHttpClient() {

// TODO Auto-generated method stub

new Thread(new Runnable() {

@Override

public void run() {

// TODO Auto-generated method stub

try {

HttpClient httpClient = new DefaultHttpClient();

HttpGet httpGet = new HttpGet("http://10.0.2.2/get_data.json");

HttpResponse httpResponse = httpClient.execute(httpGet);

if (httpResponse.getStatusLine().getStatusCode() == 200) {

HttpEntity entity = httpResponse.getEntity();

String response = EntityUtils.toString(entity, "utf-8");

parseJSONWithJSONObject(response);

}

} catch (Exception e) {

// TODO: handle exception

e.printStackTrace();

}

}

private void parseJSONWithJSONObject(String response) {

// TODO Auto-generated method stub

try {

JSONObject jsonObject = new JSONObject(response);

JSONArray resultArray = jsonObject.getJSONArray("result");

JSONObject subObject = resultArray.getJSONObject(0);

String id = subObject.getString("id");

String name = subObject.getString("name");

String version = subObject.getString("version");

Log.d("MainActivity", "id is " + id);

Log.d("MainActivity", "name is " + name);

Log.d("MainActivity", "version is " + version);

} catch (Exception e) {

// TODO: handle exception

e.printStackTrace();

}

}

}).start();

}

结果:


二、使用GSON来解析json

建立json文件get_data2.json

如下:

[{"id":"5","version":"5.5","name":"Angry Birds"},
{"id":"6","version":"7.0","name":"Clash of Clans"},
{"id":"7","version":"3.5","name":"Hey Day"}]

更改主要文件为:

private void parseJSONWidthGSON(String response) {

// TODO Auto-generated method stub

Gson gson =new Gson();

List<App> appList = gson.fromJson(response,new TypeToken<List<App>>(){}.getType());

for (App app : appList) {

Log.d("MainActivity","id is "+app.getId());

Log.d("MainActivity","id is "+app.getName());

Log.d("MainActivity","id is "+app.getVersion());

}

}

结果:

。。。。。。。

时间: 2024-10-12 15:32:56

android中json得解析的相关文章

Android中使用Gson解析JSON数据的两种方法

Json是一种类似于XML的通用数据交换格式,具有比XML更高的传输效率;本文将介绍两种方法解析JSON数据,需要的朋友可以参考下 Json是一种类似于XML的通用数据交换格式,具有比XML更高的传输效率. 从结构上看,所有的数据(data)最终都可以分解成三种类型: 第一种类型是标量(scalar),也就是一个单独的字符串(string)或数字(numbers),比如"北京"这个单独的词. 第二种类型是序列(sequence),也就是若干个相关的数据按照一定顺序并列在一起,又叫做数组

Android之JSON全面解析与使用

Android之JSON全面解析与使用 什么是JSON JSON 指的是 JavaScript 对象表示法(JavaScript Object Notation) JSON 是轻量级的文本数据交换格式 JSON 独立于语言 (单纯的数据格式,不受语言的约束) JSON 具有自我描述性,更易理解 对于JSON的定义以及数据格式,没有什么太多的难点,这里为官网对JSON的定义.从官网描述中可以看出,JSON本身是JavaScript中对象的描述格式,后来得以推广并逐渐取代xml. JSON和XML的

Android中XML数据解析

转载请注明出处:http://blog.csdn.net/yegongheng/article/details/38296207 XML初步 今天我们来学习另一种非常重要的数据交换格式-XML.XML(Extensible Markup Language的缩写,意为可扩展的标记语言),它是一种元标记语言,即定义了用于定义其他特定领域有关语义的.结构化的标记语言,这些标记语言将文档分成许多部件并对这些部件加以标识.XML 文档定义方式有:文档类型定义(DTD)和XML Schema.DTD定义了文

Android技术14:Android中layout_weight属性解析

为了更好的对空间进行布局,在LinearLayout中使用layout_weight,然后对于这一属性,在有些书上或者Android的初学者直接认为layout_weight值越大,控件权重就越大,所占用的空间就越大或者layout_wight值越小,控件空间就越大.这两种都是片面的,没有真正认识到layout_weight含义以及如何布局.下面首先演示使用代码为什么会有这两种感觉. 1.演示权重成反比 LinearLayout设置水平布局,然后里面空间宽度为fill_parent,layout

android中的网络解析xml,json,html框架

android中网络请求回来数据之后,我们要对其解析.请求的返回的结果格式如果不是自定义协议:那么返回的数据通常是xml,json,html形式的数据了. 下面就是针对上面3种格式进行解析. xml解析使用工具:在android中推荐使用pull解析,还有其他的dom,sax解析. json解析使用工具:推荐使用Fastjson,由阿里提供.还有其他的如JackSon,Gson解析. html解析使用工具:推荐使用Jsoup,还有其他的如HtmlParser;关于使用这个,网络上的爬虫就是这样子

Android安卓——json数据解析

一.什么是json json(Javascript Object Notation)是一种轻量级的数据交换格式,相比于xml这种数据交换格式来说,因为解析xml比较的复杂,而且需要编写大段的代码,所以客户端和服 务器的数据交换格式往往通过json来进行交换.尤其是对于web开发来说,json数据格式在客户端直接可以通过javascript来进行解析. json一共有两种数据结构,一种是以 (key/value)对形式存在的无序的jsonObject对象,一个对象以“{”(左花括号)开始,“}”(

Android中JSON数据使用

JSON(JavaScript Object Notation) :一种轻量级的数据交换格式,基于JavaScript的一个子集. JSON采用完全独立于语言的文本格式,使JSON成为理想的数据交换语言.易于人阅读和编写,同时也易于机器解析和生成(网络传输速度快).作为一种数据交换格式,JSON优势很明显(相对与我们通常使用的XML):JSON比XML体积小;JSON和JavaScript交互更加方便;JSON的速度要远远大于XML;JSON的解析要比XML的解析要方便等. JSON语法规则:

Android关于JSON数据解析

一.什么是json json(Javascript Object Notation)是一种轻量级的数据交换格式,相比于xml这种数据交换格式来说,因为解析xml比较的复杂,而且需要编写大段的代码,所以客户端和服务器的数据交换格式往往通过json来进行交换.尤其是对于web开发来说,json数据格式在客户端直接可以通过javascript来进行解析. json一共有两种数据结构,一种是以 (key/value)对形式存在的无序的jsonObject对象,一个对象以“{”(左花括号)开始,“}”(右

Android: JSON数据解析--JSONlib与org.JSON的冲突

新注册了这个blog,正好这两天学写Android,需要解析本地的JSON文件,google一搜看到JSONlib这玩意儿挺靠谱,就大刀阔斧下了相关依赖包干了起来,没想到这下掉进了一个深坑,网上也查不到原因,在血海里翻腾了两天,如今好不容易爬了出来,与君分享,也作为开篇之作,不足之处还望指正. 对于初次解析JSON文件的童鞋可能会上网查找解析JSON文件的方法,于是网上有诸如JSONLIB, FASTJSON, GSON等方式,于是看的眼花撩乱. 其实..我想说,Android自带的org.js