gson解析json

json入门

强颜欢笑 提交于 2020-01-17 13:27:15
掌握json的语法的书写规则 掌握json和JavaScript的交互方式 掌握json和Java之间的序列化和反序列化 json的介绍 JavaScript object notation (JavaScript对象表示法) json是轻量级的文本数据交换格式 json独立于语言,具有自我描述性,更易于理解。 例子: { “sites”:[{“name”:”百度网”,”url”:”www.baidu.com”}, {“name”:”腾讯网”,”url”:”www.tengxun.com”} ] } json的语法规则: 数据由键(key)值(value)对进行描述的,逗号分隔 大括号代表一个完整的对象,拥有多个键值对 中括号保存数组,多个对象之间使用逗号分隔 案例:编写一个员工信息表的案例看下json的编写格式。 看代码 JavaScript访问json对象 json和字符串彼此之间如何进行转换。 json和字符串互相转换如下: JSON.parse();将字符串转换为json对象; JSON.stringify();将json对象转换为字符串; JSON是浏览器内置对象,JavaScript支持上面2种方法转换解析 Java和json进行交互 json后期是保存对象和传输对象的首选格式。 json的序列化和反序列化:Java中运用,需要json序列包

Android中使用Gson解析JSON数据

落花浮王杯 提交于 2020-01-17 05:29:41
在Android中可以使用Gson解析JSON数据 首先,从 code.google.com/p/google-gson/downloads/list下载GsonAPI: google-gson-1.7.1-release.zip 把gson-1.7.jar copy到libs(项目根目录新建一个libs文件夹)中。 可以使用以下两种方法解析JSON数据: 通过获取JsonReader对象解析JSON数据: String jsonData = "[{\"username\":\"arthinking\",\"userId\":001},{\"username\":\"Jason\",\"userId\":002}]"; try{ JsonReader reader = new JsonReader(new StringReader(jsonData)); reader.beginArray(); while(reader.hasNext()){ reader.beginObject(); while(reader.hasNext()){ String tagName = reader.nextName(); if(tagName.equals("username")){ System.out.println(reader.nextString()); } else if

Android系列---JSON数据解析

那年仲夏 提交于 2020-01-15 06:33:47
上篇随笔详细介绍了三种解析服务器端传过来的xml数据格式,而对于服务器端来说,返回给客户端的数据格式一般分为html、xml和json这三种格式,那么本篇随笔将讲解一下json这个知识点,包括如何通过json-lib和gson这两个json解析库来对解析我们的json数据,以及如何在我们的Android客户端解析来自服务器端的json数据,并更新到UI当中。 一、什么是json json(Javascript Object Notation)是一种轻量级的数据交换格式,相比于xml这种数据交换格式来说,因为解析xml比较的复杂,而且需要编写大段的代码,所以客户端和服务器的数据交换格式往往通过json来进行交换。尤其是对于web开发来说,json数据格式在客户端直接可以通过javascript来进行解析。 json一共有两种数据结构,一种是以 (key/value)对形式存在的无序的jsonObject对象, 一个对象以“{”(左花括号)开始,“}”(右花括号)结束。每个“名称”后跟一个“:”(冒号);“‘名称/值’ 对”之间使用“,”(逗号)分隔。 例如:{"name": "xiaoluo"}, 这就是一个最简单的json对象,对于这种数据格式,key值必须要是string类型,而对于value,则可以是string、number、object、array等数据类型:

Gson Json

随声附和 提交于 2020-01-13 15:23:26
原文链接:https://blog.csdn.net/qq_34394010/article/details/78180289 (侵删) JSON是javascript对象的一种形态,是一种轻量级的数据交换格式。一般用来在Java EE后台服务和Android或者IoS、H5之间进行通信的一种数据传递的格式。 JSON的基本格式: { “name”:"zhangsan", "age":23, "list":[ {"score",2}, {"score",3}, {"score",4}, ] } JSON2: { "name":"zhangsan", "age":23, "sex":"男", "intersts":[ {"interest":"篮球"}, {"interest":"足球", "colors":[ {"color":"红色"}, {"color":"蓝色"} ]} ] } 而Gson是谷歌推出的一个用于生成和解析JSON数据格式的工具; 在使用gson之前需要先导入依赖,在这里我使用的是2.8.0版本的gson jar包, 首先我们创建一个UserBean的类和一个内部类InterestBean,代码大概如下: import java.util.List; public class UserBean { private String name; private

Android入门(二十二)解析JSON

心不动则不痛 提交于 2020-01-13 10:11:07
原文链接: http://www.orlion.ga/687/ 解析JSON的方式有很多,主要有官方提供的 JSONObject,谷歌的开源库 GSON。另外,一些第三方的开源库如 Jackson、FastJSON等也非常不错。 假设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"}] 一、JSONObject try { JSONArray jsonArray = new JSONArray(jsonData); for (int i = 0; i < jsonArray.length(); i++) { JSONObject jsonObject = jsonArray.getJSONObject(i); String id = jsonObject.getString("id"); String name = jsonObject.getString("name"); String version = jsonObject.getString("version"); Log.d("MainActivity", "id is

Android JSON解析库的使用

可紊 提交于 2020-01-13 00:30:24
一、Json: 首先回顾下JSON的基本概念,JSON是一种轻量级的数据交换格式。用于数据转换传输,通用与PHP、JAVA、C++、C#、Pyth等编程语言数据交换传输。 易于阅读和编写,同时也易于解析和生成。 基本结构:对象、数组。 二、Gson的简介和特点: Gson是Google提供的用来在JAVA对象和JSON数据之间进行映射的JAVA类库。可将一根JSON字符串转成一个JAVA对象,或者反过来。 快速、高效 代码量少、简洁 面向对象 数据传递和解析方便 三、Fast-json简介和特点 1、Fastjson是一个性能很好的java语言实现的JSON解析器和生成器,来自于阿里巴巴的工程师开发。具有极快的性能,超越其他的Java Json Patser。 快速FAST(比其他任何基于Java的解析器和生成器更快 强大(支持普通的JDK类包括任意Java Bean Class、Collection、Map、Date或enum) 零依赖 支持注解、支持全类型序列化。 2、基本用法: 定义实体类 根据需要可以将JSON生成单个实体或者列表实体集合 四、代码演示: Gson 和 Fast-json 的实际应用案例 效果: package com.jike.jsondemo; import java.util.ArrayList; import org.json

Web基础了解版11-Ajax-JSON

非 Y 不嫁゛ 提交于 2020-01-07 17:20:04
Ajax AJAX即“ A synchronous J avascript A nd X ML”:是,不发生页面跳转、异步请求载入内容并改写局部页面内容的技术。 也可以简单的理解为通过JS向服务器发送请求。 同步处理 : 就是当我们通过一个页面向服务器发送一个请求时,在服务器响应结束之前,我们的整个页面是不能操作的,并且即使整个页面中只有一小部分内容发生改变我们也要刷新整个页面。 异步处理 : 通过AJAX向服务器发送请求,当服务器正常响应请求后,响应信息会直接发送到AJAX中,AJAX可以根据服务器响应的内容做一些操作。并可局部的修改页面,而不需要整个页面刷新。 请求对象: XMLHttpRequest XMLHttpRequest对象用来封装请求报文,我们向服务器发送的请求信息全部都需要封装到该对象中。 获取XMLHttpRequest对象,不同浏览器之间有差异 //获取XMLHttpRequest的通用方法 function getXMLHttpRequest(){ var xhr; try{ //大部分浏览器都支持 xhr = new XMLHttpRequest(); }catch(e){ try{ //如果不支持,在这里捕获异常并且采用IE6支持的方式 xhr = new ActiveXObject("Msxml2.XMLHTTP"); }catch(e){ /

Java中List集合和JSON对象之间的相互转换

吃可爱长大的小学妹 提交于 2019-12-26 00:32:33
第一种方法: 代码实现 /** *数据封装成json * * @param items 物料入库数据 * @return json * @throws JSONException */ public static String GoodIn2Json(List<GoodInfo> items) throws JSONException { if (items == null) return ""; JSONArray array = new JSONArray(); JSONObject jsonObject = null; GoodInfo info = null; for (int i = 0; i < items.size(); i++) { info = items.get(i); jsonObject = new JSONObject(); jsonObject.put(Api.COLORID, info.getColorId()); jsonObject.put(Api.STOCK, info.getStock()); array.put(jsonObject); } return array.toString(); } /** * 将json数组解析出来,生成自定义数据的数组 * @param data 包含用户自定义数据的json * @return

JSON数据处理

折月煮酒 提交于 2019-12-18 01:22:21
CRUD崽怎么了? 精通CRUD还怕找不到工作嘛? giao,最近跟其他项目对接老是要用json,什么解析json字符串,什么对象转json格式字符串,听着阿夜我真是头秃。 说起Java操作json,第一个映入我眼眶的不是阿里爸爸的fastjson,而是json-lib。接触这个是去年刚进公司时从前辈遗留的代码中看到的(失误失误前辈健在,只是头发快没了,说起这个话我不由得摸了摸头皮)。 当时觉得真好用呐,它的maven配置是这样的: < dependency > < groupId > net.sf.json-lib </ groupId > < artifactId > json-lib </ artifactId > < version > 2.4 </ version > < classifier > jdk15 </ classifier > </ dependency > 操作数据是这样的: public static void main ( String [ ] args ) { String jsonStr = "{\"id\":1,\"name\":\"eknown\"}" ; // json字符串转json对象 JSONObject obj = JSONObject . fromObject ( jsonStr ) ; // 操作json对象 System .

ajax请求返回的数据一直是undefined

拜拜、爱过 提交于 2019-12-15 06:59:15
网上查找了很久,那些方法对自己都不管用。不管怎么设置,查看响应头,发现响应类型一直都是“text/html;charset=utf-8”,死活就是变不了“application/json;charset=utf-8”。 后来,我舍弃了字符输出流Writer, 改用字节输出流OutputStream,问题成功解决。服务器端代码如下: ObjectMapper mapper = new ObjectMapper ( ) ; //String string = mapper.writeValueAsString(introByName); // System.out.println(string); response . setContentType ( "application/json;charset=utf-8" ) ; mapper . writeValue ( response . getOutputStream ( ) , introByName ) ; //response.getWriter().write(string); //request.getRequestDispatcher("index.jsp").forward(request,response); 前端代码如下,代码挺少的: < script > $ ( function ( ) //入口函数 { $ (