Android Json数据解析

时间:2022-09-06 13:43:21

1.通过主Activity的Button按钮进行解析

 public class MainActivity extends Activity {

     private Button button=null;
private String jsonData="[{\"name\":\"小张\",\"age\":25,\"sex\":\"男\"},{\"name\":\"小李子\",\"age\":41,\"sex\":\"女\"}," +
"{\"name\":\"倩倩\",\"age\":15,\"sex\":\"女\"}]";
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
button=(Button) super.findViewById(R.id.button);
button.setOnClickListener(new OnClickListener()
{
public void onClick(View v)
{
new JsonUtils(jsonData);
}
});
} @Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
} }

2.JosnUtils类用来解析json数据的业务类

 public class JsonUtils
{ @SuppressLint("NewApi") public JsonUtils(String jsonData)
{
try
{
/**
* 要想解析JSON数据之前先创建一个JsonReader对象,
* 因为JsonReader对象需要一个reader参数所以要把字符串转化成StringReader对象作为参数
*/
JsonReader jsonReader=new JsonReader(new StringReader(jsonData));
//开始读取json数据
jsonReader.beginArray();
//循环读取json中的数据,一直到读取数据结束
while(jsonReader.hasNext())
{
//开始读取json对象
jsonReader.beginObject();
//循环读取json对象中的数据,一直到读取数据结束
while(jsonReader.hasNext())
{
//jsonReader.nextName()读取json对象的名称
//jsonReader.nextString()读取json对象对应的值;如果是整形对象使用jsonReader.nextInt()方法
if(jsonReader.nextName().equals("name"))
{
System.out.print("姓名:"+jsonReader.nextString());
}
if(jsonReader.nextName().equals("age"))
{
System.out.print(" 年龄:"+jsonReader.nextInt());
}
if(jsonReader.nextName().equals("sex"))
{
System.out.print(" 性别:"+jsonReader.nextString());
}
}
System.out.println();
//结束json对象数据的解析
jsonReader.endObject();
}
//结束json数据的解析
jsonReader.endArray();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} } }

3.在运行程序之前要把google的gson-xxx.jar的jar包导入到类库中,下载地址:https://code.google.com/p/google-gson/downloads/list

Android Json数据解析的更多相关文章

  1. Android JSON数据解析(GSON方式)

    要创建和解析JSON数据,也可以使用GSON来完成.GSON是Google提供的用来在Java对象和JSON数据之间进行映射的Java类库.使用GSON,可以很容易的将一串JSON数据转换为一个Jav ...

  2. Android JSON数据解析(数据传输)

    上篇随笔详细介绍了三种解析服务器端传过来的xml数据格式,而对于服务器端来说,返回给客户端的数据格式一般分为html.xml和json这三 种格式,那么本篇随笔将讲解一下json这个知识点,包括如何通 ...

  3. Android json 数据解析

    1.json格式 2.json解析 3.gson解析 4.fastjson解析 一.Json格式 json一种轻量级的数据交换格式.在网络上传输交换数据一般用xml, json. 两种结构: 1)对象 ...

  4. Android学习笔记之JSON数据解析

    转载:Android学习笔记44:JSON数据解析 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,为Web应用开发提供了一种 ...

  5. JSON数据解析(转)

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,为Web应用开发提供了一种理想的数据交换格式. 本文将主要介绍在Android ...

  6. JSON数据解析(GSON方式) (转)

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,为Web应用开发提供了一种理想的数据交换格式. 在上一篇博文<Andro ...

  7. iOS学习——JSON数据解析(十一)

    在之前的<iOS学习——xml数据解析(九)>介绍了xml数据解析,这一篇简单介绍一下Json数据解析.JSON 即 JavaScript Object Natation,它是一种轻量级的 ...

  8. Android JSON原生解析的几种思路,以号码归属地,笑话大全,天气预报为例演示

    Android JSON原生解析的几种思路,以号码归属地,笑话大全,天气预报为例演示 今天项目中要实现一个天气的预览,加载的信息很多,字段也很多,所以理清了一下思路,准备独立出来写一个总结,这样对大家 ...

  9. iOS学习笔记(十一)——JSON数据解析

    在之前的<iOS学习——xml数据解析(九)>介绍了xml数据解析,这一篇简单介绍一下Json数据解析.JSON 即 JavaScript Object Natation,它是一种轻量级的 ...

随机推荐

  1. EMC与地之重新认识地

    记得在Mark的培训中,他手上拿了一个无线鼠标,然后问了一个很有意思的问题:“这个无线鼠标的地在哪里?同样,我们的手机没有和任何大地有接 触,那么这个地又在哪里呢?”这个问题确实很有意思,也确实让人很 ...

  2. Hibernate使用

    实现类: public class InfoDAOImpl extends BaseDao<Info> 1.List<Object[]> midlist=super.creat ...

  3. PAT-乙级-1011&period; A&plus;B和C &lpar;15&rpar;

    1011. A+B和C (15) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 HOU, Qiming 给定区间[-231, 231 ...

  4. shell中exit命令不退出脚本

    好久不用shell了,今天碰到一个坑,发现exit后,shell脚本还会运行. $JAVA_HOME/bin/jps | while read RES do PID=`echo $RES | awk ...

  5. 怎样把Word文档导入Excel表格

    Word是现在办公中的基础文件格式了,很多的内容我们都通过Word来进行编辑,那么当我们需要将Word文档里的信息导入到Excel里面的时候,我们应该怎样做呢?下面我们就一起来看一下吧. 操作步骤: ...

  6. window安装ab压力测试并使用

    ab是Apache HTTP server benchmarking tool的缩写,可以用以测试HTTP请求的服务器性能,也是业界比较流行和简单易用的一种压力测试工具包 1.下载ab工具 进入apa ...

  7. windows安装Anaconda3

    目录 windows安装Anaconda3 环境 安装 windows安装Anaconda3 by 铁乐与猫 环境 windows7 64位 Anaconda3 5.2.0版本 windows64位 ...

  8. vue mixins的使用

    官网传送 刚开始接触vue的时候,官网关于mixins的例子看了好几遍,发现还是不会用,包括vuex也是后来慢慢理解一点的,不过和vuex比起来.mixns还是很好理解,简单很多了 就我目前理解mix ...

  9. ranch分析学习&lpar;四&rpar;

    经过的前面的梳理,整个ranch框架的结构,大致有了一个清晰的脉络,即使我说的不是很清楚大家也基本能阅读懂源码.下面我继续分析剩下的的几个文件. 7.ranch_transport.erl 这个文件是 ...

  10. Oracle的CLOB大数据字段类型

    转载:https://www.cnblogs.com/Grand-Jon/p/7389427.html 一.Oracle中的varchar2类型 我们在Oracle数据库存储的字符数据一般是用VARC ...