JSON官网http://www.json.org,上面有所用语言对应的json工具。
http://my.oschina.net/sammy1990/blog/272510
--------------------------------------------------------------------------------
JSON Vs XML
1.JSON相对于XML来讲,同样的信息量,用json表述比xml描述数据量小。
2.JSON和XML的数据可读性基本相同
3.JSON对数据的详细描述没有XML好
--------------------------------------------------------------------------------
json就是一串有规范的字符串
json最外层有两种,对象{}或数组[]。
json对象:{k:v,k2:v2,k3:v3},对应java的map或类类型
json数组:[v,v2,v3],对应java的list或数组。
v值类型可以是:
null
对象
数组
字符串(在双引号内)
数字(整数或者浮点数)
逻辑值(true 或 false)
--------------------------------------------------------------------------------
json官方包是org.json.jar(android里自带了这个包)可以到官网现在源码导出这个jar包。
大部分json工具包提供了以下对象
JSONObject:json 对象(内部就是一个HashMap,map可以直接转成json对象)
JSONArray:json 数组(内部就是一个ArrayList,list可以直接转成json)
--------------------------------------------------------------------------------
json解析:
例如:
//json对象解析 String json1="{'k1':null,'k2':{'k1':'v1'},'k3':['v1','v2'],'k4';'v4','k5':7,'k6':true,'k7':false}"; JSONObject jsonObject=new JSONObject(json1); //k1解析 JSONObject nullObject=jsonObject.getJSONObject("k1"); //k2解析 JSONObject k2JSONObject=jsonObject.getJSONObject("k2"); String k2k1String=k2JSONObject.getString("k1"); //k3解析 JSONArray k3JSONArray=jsonObject.getJSONArray("k3"); String k3v1=k3JSONArray.getString(0); String k3v2=k3JSONArray.getString(1); //k4解析 String k4String=jsonObject.getString("k4"); //k5解析 int k5int=jsonObject.getInt("k5"); //k6解析 boolean k6boolean=jsonObject.getBoolean("k6"); //k7解析 boolean k7boolean = jsonObject.getBoolean("k7");
//json数组解析 //JSONArray 存的类型是相同的 String json2="['v1','v2']"; JSONArray jsonArray=new JSONArray(json2); for (int i=0;i<jsonArray.length();i++){ jsonArray.getString(i); }
Gson解析json是同java的反射机制解析的json对象对应一个java对象,json对象的每个key必须与
java的属性相同名。json数组对应java ArrayList。null 数字 boolean都可以按字符串解析。
//Gson解析json 对象 //"{'k1':null,'k2':{'k1':'v1'},'k3':['v1','v2'],'k4':'v4','k5':7,'k6':true,'k7':false}" //根据json串构建bean类型 class KBean{ //public Object k1; public String k1; public K2 k2; public ArrayList<String> k3; public String k4; //public int k5; //public boolean k6; //public boolean k7; public String k5; public String k6; public String k7; class K2{ String k1; } } String json1="{'k1':null,'k2':{'k1':'v1'},'k3':['v1','v2'],'k4':'v4','k5':7,'k6':true,'k7':false}"; KBean kbean =new Gson().fromJson(json1,KBean.class); Toast.makeText(this,kbean.k1+" "+ kbean.k3.get(0)+" "+kbean.k5+" "+ kbean.k6, Toast.LENGTH_LONG).show();
//Gosn json数组解析 String json2="['v1','v2']"; Type listType=new TypeToken<ArrayList<String>>(){}.getType(); ArrayList<String> list=new Gson().fromJson(json2,listType); Toast.makeText(this, list.get(0), Toast.LENGTH_LONG).show();
相关推荐
PB Json解析库是一种用于处理协议缓冲区(Protocol Buffers,简称PB)与JSON之间相互转换的工具。在软件开发中,尤其是涉及到数据交换时,PB和JSON都扮演着重要的角色。PB是Google推出的一种高效的数据序列化协议,...
我们将涵盖两种解析方式:本地JSON解析和在线JSON解析。 ### 1. JSON基础知识 JSON是一种文本格式,基于JavaScript语法,但独立于语言。它以键值对的形式存储数据,如`"key": "value"`。数组可以通过方括号`[]`表示...
总的来说,理解和掌握JSON解析是现代Web开发的基本技能之一。无论你是前端开发者还是后端开发者,都需要能够有效地读取、解析和生成JSON数据。通过学习和实践,你可以熟练地利用JSON这一强大的工具进行数据交换和...
本着探究 JSON 原理的目的,我将会在这DEMO中实现了一个简单的JSON解析器。由于 JSON 本身比较简单,解析起来也并不复杂。所以如果大家感兴趣的话,在看完本DEMO后,不妨自己动手实现一个 JSON 解析器。
"鬼脸JSON解析小工具forMac"正是这样一款专为MAC用户设计的实用工具,它的特点在于其独特的鬼脸logo,使得软件在众多工具中具有较高的辨识度。 该工具的主要功能包括: 1. **实时解析**:用户可以直接将包含JSON...
3. **JSON解析**:易语言提供了JSON解析的库或模块,允许我们解析JSON字符串为易语言的数据结构,如数组或字典。解析过程中,我们需要识别并提取出订单的关键信息,如订单ID、客户信息、商品详情等。 4. **将订单...
JSON解析.dll是Unity中用于处理JSON数据的库,它允许开发者将JSON字符串转化为C#对象或者将C#对象转化为JSON字符串。 在Unity与WebGL的结合使用中,由于WebGL的目标是浏览器环境,因此存在一些特定的限制。例如,...
易语言、易Json解析模块、水淼Json 易语言水淼JSON解析模块源码自主解析JSON数据类型,使用树来直观清晰显示出所有结构,辅助程序员快速定位JSON节点提高开发效率。
本项目提供的是一款针对C语言的精简JSON解析程序,专为资源有限的硬件环境如单片机设计。 1. **C语言基础** C语言是底层编程的常用工具,具有高效、灵活和资源管理精细等特点,适合于开发对内存和计算能力要求严格...
`com.force.json`是一个针对.NET平台的高性能JSON库,由Salesforce公司开发,它提供了快速且内存效率高的JSON解析和生成功能。这个库适用于那些需要高效处理大量JSON数据的应用场景。 首先,我们需要了解JSON的基本...
适用于json解析,美观直观的观看数据
`json-c`就是这样一个专门用于C语言的JSON解析库,它提供了对JSON数据的读取、创建、修改和序列化等功能,使得C程序员可以方便地与JSON格式进行交互。 `json-c`库的核心特性包括: 1. **解析和生成JSON**:`json-c...
在Python中,Python的标准库`json`模块提供了非常便捷的JSON解析和序列化功能。要解析一个JSON字符串,我们可以使用`json.loads()`函数。例如: ```python import json json_string = '{"name": "John", "age": 30...
不过,需要注意的是,由于这是2015年的版本,可能不包含最新的JSON解析技术和安全更新,对于最新的JSON规范支持可能存在局限,而且在当前的软件环境下运行可能不稳定或者存在兼容性问题。建议使用最新版本的JSON解析...
本篇文章将深入探讨JSON解析以及Gson库的使用方法。 一、JSON解析基础 JSON是一种独立于语言的数据表示格式,其结构清晰,易于人阅读和编写,同时也容易让机器解析和生成。JSON主要由键值对(key-value pairs)...
"Jason鬼脸mac版"就是这样一个专为Mac用户设计的顶级JSON解析工具,它以其强大的功能和友好的用户界面赢得了“最好用”的美誉。 Jason鬼脸(Jason2.app)主要特点包括: 1. **直观展示**:Jason鬼脸提供了清晰的树...
本篇将详细介绍JSON解析相关的知识点,并针对"最全的json解析JAR包"进行解析。 1. JSON基本结构: JSON基于JavaScript的一个子集,主要由对象(Object)和数组(Array)两种数据结构组成。对象是键值对的集合,用...
在C#中,当你面对未知结构的JSON数据,即不能预先定义强类型对象时,可以使用`Dictionary, object>`作为载体,将JSON解析为键值对的形式。 以下是使用Json.NET库解析JSON的基本步骤: 1. 引入库:确保项目引用了...
易语言JSON解析模块2.0源码例程程序结合易语言扩展界面支持库和应用接口支持库,调用API函数实现JSON解析、生成、编辑。点评:易语言JSON解析模块2.0源码通过封装JSON类形成稳定强大的json处理核心。资源作者:。...
当我们谈到“delphi_json解析格式化源码”,我们关注的是如何在Delphi环境中处理JSON数据,包括解析JSON字符串为程序可操作的对象,以及将这些对象格式化回JSON文本。 在Delphi中,处理JSON主要依赖于VCL库中的`...