android JSON数据解析

JSON作为一种“轻量”的数据结构传递数据,在JS中有广泛的应用

Google公司对JSON的解析提供了gson.jar这个包,它不依赖于其他任何JAR包;目前在Android3.0中已经合入了该解析器的功能,但之前的版本是没有的。

findViewById(R.id.parseBtn).setOnClickListener(new OnClickListener(){@Overridepublic void onClick(View v) {jsonData = "[{\"name\":\"Michael\",\"age\":20},{\"name\":\"Mike\",\"age\":21}]";MainActivity.parseJson(jsonData);}
});public static void parseJson(String jsonStr){//如果要解析JSON数据,首先要有一个JsonReader对象JsonReader jsonReader = new JsonReader(new StringReader(jsonStr));try {//开始遍历数组(多个JSON对象)jsonReader.beginArray();while(jsonReader.hasNext()){//开始遍历JSON对象(含有多个属性)jsonReader.beginObject();while(jsonReader.hasNext()){String tagName = jsonReader.nextName();if(tagName.equals("name")){System.out.println("name --> " + jsonReader.nextString());}else if(tagName.equals("age")){System.out.println("age --> " + jsonReader.nextString());}}//遍历JSON对象结束jsonReader.endObject();}//遍历数组结束jsonReader.endArray();} catch (IOException e) {e.printStackTrace();}
}

 将JSON格式转换为类的步骤如下:

//先定义一个类
public class User {public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}
}//只将一组数据转换的方法
findViewById(R.id.parseObj).setOnClickListener(new OnClickListener(){@Overridepublic void onClick(View v) {String jsonData = "{\"name\":\"Michael\",\"age\":20}";Gson gson = new Gson();User user = gson.fromJson(jsonData, User.class);System.out.println("name--->" + user.getName());System.out.println("age---->" + user.getAge());}
});//将多组数据转换的方法
findViewById(R.id.parseObjs).setOnClickListener(new OnClickListener(){@Overridepublic void onClick(View v) {String jsonData = "[{\"name\":\"Michael\",\"age\":20},{\"name\":\"Mike\",\"age\":21}]";Type listType = new TypeToken<LinkedList<User>>(){}.getType();Gson gson = new Gson();LinkedList<User> users = gson.fromJson(jsonData, listType);for (Iterator iterator = users.iterator(); iterator.hasNext();) {User user = (User) iterator.next();System.out.println("name--->" + user.getName());System.out.println("age---->" + user.getAge());}}
});

 

转载于:https://www.cnblogs.com/hbiao68/archive/2012/01/02/2309793.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/410168.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

输入参数的数目不足 matlab_哈工大被禁用MATLAB,工科学生慌了,论文至上间接导致软件依赖?...

“与其让毕业生天天愁毕业论文的重复率&#xff0c;不如踏踏实实地搞点创新。”文 | 木兔 编辑 | 小豆6月6日起&#xff0c;陆续有哈尔滨工业大学(以下简称哈工大)的学生在知乎等社交网络上反映&#xff0c;MATLAB软件突然不能用了&#xff0c;明明学校已经购买了全套正版软件&…

python结巴_python结巴(jieba)分词

一、特点1、支持三种分词模式&#xff1a;(1)精确模式&#xff1a;试图将句子最精确的切开&#xff0c;适合文本分析。(2)全模式&#xff1a;把句子中所有可以成词的词语都扫描出来&#xff0c;速度非常快&#xff0c;但是不能解决歧义。(3)搜索引擎模式&#xff1a;在精确模式…

不同操作系统的宏定义区分

转载自 不同操作系统的宏定义区分 #ifdef _WIN32 //define something for Windows (32-bit and 64-bit, this part is common)#ifdef _WIN64 //define something for Windows (64-bit only)#else //define something for Windows (32-bit only)#endif#elif __APPLE__#include &…

three.js两个点给线条加宽度_一台电视两个房间看?衣柜、客房会隐形?这是什么神奇设计!...

今天介绍的家是一对小夫妻的新房&#xff0c;改造前的问题基本都是常见的槽点&#xff1a;进门过道细窄昏暗&#xff1b;厨卫小而局促&#xff1b;卧室和阳台被分成了4个小隔间&#xff0c;像群租的隔断房。1玄关利用镜面反射&#xff0c;空间视觉扩大一倍。进门的视角&#xf…

python画正方体_python绘制立方体的方法

本文实例为大家分享了python绘制立方体的具体代码&#xff0c;供大家参考&#xff0c;具体内容如下#!/usr/bin/env python# This is (almost) a direct C to Python transliteration of# /Examples/DataManipulation/Cxx/Cube.cxx from the VTK# source distribution, which &q…

[html] 你有使用过time标签吗?说说它的用途有哪些?

[html] 你有使用过time标签吗&#xff1f;说说它的用途有哪些&#xff1f; 首先time标签是h5的新属性&#xff0c;标签定义为公历的时间或日期。 好处是time约束的日期或时间的编码方式满足机器可读的要求。个人简介 我是歌谣&#xff0c;欢迎和大家一起交流前后端知识。放弃…

论文中要用到的SPSS基础分析

大家现在都要写论文的数据分析了……很多同学都一点不会……所以把我知道的跟大家分享一下……下面以PASW18.0为例&#xff0c;也就是SPSS18.0…………什么&#xff1f;不是18.0&#xff0c;好吧……差不多的&#xff0c;凑合着看吧……要不去装个…… ……下面图片看不清的请右…

AutoMapper 9.0的改造

AutoMapper于2019.8.12升级9.0 从此不再支持静态的对象转换 自己琢磨了一下&#xff0c;写了一套扩展 官方链接如下 https://github.com/AutoMapper/AutoMapper/tree/v9.0.0 我做了一下方便使用的简单封装 public static class AutoMapperExtension{public static IServiceColl…

win10电脑插耳机没声音_电脑没有声音是什么原因 教您电脑突然没声音怎么解决...

在日常生活中在使用电脑中经常遇到电脑没声音的小麻烦&#xff0c;有时候选择重装系统也解决不了该问题&#xff0c;其实不必烦恼的&#xff0c;当出现电脑没声音的现象时&#xff0c;我们首先要寻找出电脑没声音是什么原因造成的。然后根据电脑没声音的原因来寻求解决办法。下…

机械动作时序图怎么画_人物动作怎么画?动漫绘画人物姿势的基本画法!

人物动作怎么画&#xff1f;怎样才能画好动漫人物姿势&#xff1f;画好动漫人物姿势有哪些技巧&#xff1f;想必这些问题都是绘画初学者们比较伤脑筋的问题&#xff0c;那么到底怎样才能画好动漫人物姿势呢&#xff1f;今天就在网络上收集整理了关于人物动作怎么画&#xff1f;…

MSSQL 2005 分页分析及优化

MSSQL 分页方式说明:目前我所知的有以下几种方式 临时表表变量in, not inSET ROWCOUNTCTEid >, id <优缺点分析: 性能最低, 可操作性差第一种方式和第二种方实际上是比较类似的.优点: 排序方式比较随意缺点:第一种方式 有大量的 IO 开销.第二种方式则会开销内存, 但当表数…

[html] 如何实现前端代码实时预览效果?

[html] 如何实现前端代码实时预览效果&#xff1f; setInterval(() > { //刷新逻辑 }, 60)个人简介 我是歌谣&#xff0c;欢迎和大家一起交流前后端知识。放弃很容易&#xff0c; 但坚持一定很酷。欢迎大家一起讨论 主目录 与歌谣一起通关前端面试题

vCenter线上操作磁盘扩容

以下截图是生产机器&#xff0c;目前是有一块盘&#xff0c;且根分区是/dev/sda3&#xff0c;因为磁盘不足&#xff0c;需要备份的数据要远远超过此时的空间大小&#xff1b;正常情况下&#xff0c;是可以新增硬盘硬盘作为备份 但是作为宿主机下的虚机&#xff0c;因为一些不规…

邮箱无权访问 上的 jira是怎么回事_蚂蚁庄园答案2020年11月6日汇总 小鸡宝宝考考你每日答案为你呈上|蚂蚁|庄园-360GAME...

川北在线核心提示&#xff1a;原标题&#xff1a; 蚂蚁庄园答案2020年11月6日汇总 小鸡宝宝考考你每日答案为你呈上 支付宝蚂蚁庄园小课堂11月6日答案是什么呢&#xff1f;2020年11月6日支付宝蚂蚁庄园小课堂题目是健身过后什么时候吃饭更适宜&#xff1f;等等相信有不少用户都…

python web py官网_python web.py

web.py1.安装&#xff1a;wget http://webpy.org/static/web.py-0.37.tar.gztar xvfz web.py-0.37.tar.gzcd web.py-0.37sudo python setup.py install2.需求&#xff1a;先说下需求&#xff0c;http://10.75.7.237:8080/?ipaddress10.75.7.29&count100 &#xff0c;最终得…

Razor 也可说是一个asp.net模板引擎,用不着学习 T4 了

Razor 是 ASP.NET MVC 3.0 支持的一个新的视图引擎&#xff0c;但只要你愿意&#xff0c;也可以摆脱 MVC 框架&#xff0c;而把它用作普通的文本模板引擎。这样也许我们不用学习流行的 T4 了&#xff1f;参见思归的博客&#xff1a;http://www.k518.com 转载于:https://www.cnb…

[html] 请说说input的inputmode属性有什么应用场景?

[html] 请说说input的inputmode属性有什么应用场景&#xff1f; inputmode 全局属性 是一个枚举属性&#xff0c;它提供了用户在编辑元素或其内容时可能输入的数据类型的提示。它可以是以下值&#xff1a;"none" 无虚拟键盘。在应用程序或者站点需要实现自己的键盘输…

php操作kafka

php操作kafka----可以参照网上的安装步骤&#xff0c;先安装ldkafka rdkafka&#xff0c;然乎启动zookeeper和kafka服务器<?php //$conf new Rdkafka\Producer(); //$producer new RdKafka\Producer(); class kafka {public $broker_list"localhost:9092";publ…

ligergrid 奇偶行效果_怎么护发才是真的有效果的?

我之前就是喜欢烫染头发&#xff0c;还不注意保护我的头发&#xff0c;时间久了我的头发不仅干燥开叉&#xff0c;还掉的就越来越多了&#xff0c;发量也在一点点的减少&#xff01;头发出油也就算了&#xff0c;脱发我是不能忍了&#xff0c;经过一段时间的不断尝试&#xff0…

bmp怎么编辑底色_非标机械设计这个行业前景怎么样

今天就不分享技术点了&#xff0c;主要和大家谈谈非标机械设计这个行业的前景怎么样&#xff0c;非标机械设计&#xff0c;就是根据客户提供的样板或者提出的要求来订做设计的。相信还有很多人对这个词感到很陌生&#xff0c;提起来也只是大概知道它是一种什么东西&#xff0c;…