`

Json 基础研究

 
阅读更多

作者:刘庆

希望对JSON 的学习者有帮助

 

http://www.apache.org/

 

commons-collections-3.1.jar

commons-lang-2.5.jar

commons-logging-1.1.1.jar

 

json-lib-2.4-jdk15.jar

http://json-lib.sourceforge.net/

 

commons-beanutils.jar 下载

http://commons.apache.org/beanutils/download_beanutils.cgi

 

ezmorph.jar 下载

http://sourceforge.net/projects/ezmorph/files/ezmorph/ezmorph-1.0.6/ezmorph-1.0.6.jar/download

 

 

 

1. Json 数据原理

 

 

 

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于JavaScript(Standard ECMA-262 3rd Edition - December 1999)的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)。这些特性使JSON成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成。

 

 

 JSON建构于两种结构:

  1. “名称/值”对的集合(A collection of name/value pairs)。不同的语言中,它被理解为对象(object),记录(record),结构(struct),字典(dictionary),哈希表(hash table),有键列表(keyed list),或者关联数组 (associative array)。

  2. 值的有序列表(An ordered list of values)。在大部分语言中,它被理解为数组(array)。

  这些都是常见的数据结构。事实上大部分现代计算机语言都以某种形式支持它们。这使得一种数据格式在同样基于这些结构的编程语言之间交换成为可能。

 

2.精据对象查式

java 对象 name="liuqing"

json 数据 {"name":"liuqing"}

java 对象

 

 

package com.hello;

public class CoreInfo {
	
	private int id;
	
	private double core;
	
	private String name;

	/**
     * 
	 *	setter ...getter
     */
	
}

JSON 对象数据 

 

{"core":95.5,"id":234,"name":"coreName"}

java 数组对象

 [{JSONObject},{JSONObject},{JSONObject}]

 

 

package com.hello;

import java.util.ArrayList;
import java.util.List;

public class User {
	
	private Integer id;
	
	private String name;
	
	private String password;
	
	private String sex;
	
	private List<English> englishes = new ArrayList<English>();
	
	private CoreInfo coreInfo;
	
    /**
     * 
	 *	setter ...getter
     */
}

  package com.hello;

import java.math.BigDecimal;

public class English {
	
	private Integer id;
	
	private String name;
	
	private String sex;
	
	private float doe;
	
	private BigDecimal beg;
	
	private double fs;

	/**
     * 
	 *	setter ...getter
     */
	
}
 

 

 

JSON 数组对象

 

 

package com.hello;

import java.math.BigDecimal;

import net.sf.json.JSONObject;

public class PanelInfo {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		
		User u = new User();
		u.setId(23);
		u.setName("liuqing");
		u.setPassword("122432432");
		u.setSex("male");
		CoreInfo coreInfo = new CoreInfo();
		coreInfo.setId(234);
		coreInfo.setName("coreName");
		coreInfo.setCore(95.5);
		u.setCoreInfo(coreInfo);
		English en = new English();
		en.setId(12);
		en.setName("eeeeee");
		en.setSex("male");
		en.setBeg(new BigDecimal(26382.09));
		en.setDoe(243626.90f);
		en.setFs(3627.98);
		English en2 = new English();
		en2.setId(124);
		en2.setName("eeeeee");
		en2.setSex("male");
		en2.setBeg(new BigDecimal(26382.09));
		en2.setDoe(243626.90f);
		en2.setFs(3627.98);
		English en3 = new English();
		en3.setId(122);
		en3.setName("eeeeee");
		en3.setSex("male");
		en3.setBeg(new BigDecimal(26382.09));
		en3.setDoe(243626.90f);
		en3.setFs(3627.98);
		u.getEnglishes().add(en);
		u.getEnglishes().add(en2);
		u.getEnglishes().add(en3);
//		JSONObject.fromObject(object) 将Java 对象 to JSONObject对象
//      JSONObject.toString() 生成JSON String 对象
		System.out.println(JSONObject.fromObject(u).toString());

	}

}
 

JSON数据

 

 

{	
	"coreInfo":{"core":95.5,"id":234,"name":"coreName"}
	,"englishes":[
			{"beg":26382.09000000000014551915228366851806640625
			,"doe":243626.9,"fs":3627.98,"id":12,"name":"eeeeee","sex":"male"}
			,{"beg":26382.09000000000014551915228366851806640625
			,"doe":243626.9,"fs":3627.98,"id":124,"name":"eeeeee","sex":"male"}
			,{"beg":26382.09000000000014551915228366851806640625
			,"doe":243626.9,"fs":3627.98,"id":122,"name":"eeeeee","sex":"male"}
		     ]
	,"id":23
	,"name":"liuqing"
	,"password":"122432432"
	,"sex":"male"
}
 
分享到:
评论

相关推荐

    JSON相关JS库及基础应用实例

    综上所述,这个压缩包可能包含了以上提到的JS库的示例代码,以及一些使用JSON进行数据操作的基础实例,这对于理解和掌握JSON在实际项目中的应用非常有帮助。通过研究这些例子,开发者能够更好地理解如何在JavaScript...

    全国行政区划json文件

    全国行政区划JSON文件是用于表示中国各级行政区域的数据文件,主要以JSON...总的来说,这个压缩包提供了一个全面的全国行政区域数据资源,对于需要处理这类数据的开发者或研究者来说,是一个非常宝贵的工具。

    使用json封装数据 html源代码

    描述中的“json的简单应用”表明我们将探讨JSON的基础用法,以及如何在一个具有增加和删除功能的例子中使用JSON。这通常涉及到动态网页开发,例如使用JavaScript或者jQuery库来实现用户界面的交互,通过解析JSON数据...

    grib2json-master.zip

    通过grib2json,开发者和研究人员能够方便地集成GRIB2数据到自己的项目中,无论是构建天气应用程序还是进行气候研究。 grib2json-master.zip文件包含了grib2json项目的源代码,用户可以下载后自行编译和使用。这...

    Json.zip_JSON_json库作用

    JSON,全称JavaScript Object Notation,是一种轻量级的数据交换格式,因其简洁、易读、易写的特点,广泛应用于...通过深入研究“Json.zip”中的示例,你将能够更好地理解JSON在实际工作中的应用,并提升你的编程能力。

    四川省地市地图经纬度json数据.zip

    这对于开发地图应用、旅游导航、地理分析或者学术研究等场景非常有用。 标签“四川省”、“地图”、“经纬度”和“json”进一步明确了数据的核心内容。我们可以从以下几个方面理解这些标签: 1. **四川省**:数据...

    json学习文档

    在"json 实现ajax 返回对象 操作 json 学习 json研究"这个主题中,我们将深入探讨以下几个关键知识点: 1. **JSON格式基础**:JSON是一种文本格式,它由键值对组成,以大括号{}包围。键是字符串,用双引号包围,...

    C语言精简JSON解析程序,可用于单片机等资源稀缺硬件

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,被广泛用于前后端通信,尤其在嵌入式系统和单片机开发中,由于其简洁...开发者可以通过研究和改进这个项目,进一步提升在嵌入式系统中的JSON处理能力。

    安徽json数据

    JSON(JavaScript Object Notation)是...总之,"安徽json数据"提供了深入了解安徽省各个城市的基础信息,通过编程技术对其进行解析和分析,我们可以从中获取丰富的地理、人口等多方面知识,为研究、决策提供数据支持。

    全国省市县区街道地理坐标json格式数据

    标题中的“全国省市县区街道...例如,可以用于绘制高精度的中国地图,进行人口分布分析,或者是为导航应用提供基础数据支持。同时,通过这些坐标数据,还可以进行空间查询、地理编码、距离计算等多种地理信息处理任务。

    全国省份、城市JSON

    - 行政区划研究:为学术研究提供基础数据。 处理这样的JSON数据时,开发者通常会使用编程语言(如JavaScript、Python、Java等)的JSON库来解析和操作数据。例如,用JavaScript的`JSON.parse()`方法可以将JSON字符串...

    org.json-source.zip

    《深入解析org.json库》 在Java开发中,org.json库是一个广泛使用的轻量级JSON处理...通过深入研究org.json-source.zip中的源代码,开发者不仅可以提高自己的JSON处理能力,还能提升对Java编程和数据序列化的理解。

    英汉汉英词库 json格式

    - **研究分析**:可用于语言学研究,探索词汇演变及文化差异等话题。 - **人工智能**:为自然语言处理(NLP)项目提供数据支持,例如聊天机器人、文本分类等应用。 通过以上分析可以看出,这份英汉汉英词库不仅包含了...

    json解析器源码

    在深入研究源码之前,你需要确保已经安装了Boost库,并熟悉C++的基础知识,特别是面向对象编程和STL(Standard Template Library)。同时,了解一些编译和链接命令行选项也会有所帮助,因为可能需要在编译时链接到...

    SwaggerToWord的json生成word或者html

    如果你打算自定义或扩展此工具,可以研究其代码结构,了解如何与Swagger规范交互,并调整输出格式以满足特定需求。 总结来说,SwaggerToWord是一个实用的工具,它将复杂的Swagger JSON规范转换为易读的Word或HTML...

    百度地图json数据(包括省和市)

    总的来说,"百度地图json数据(包括省和市)"为ECharts地图功能提供了基础数据,通过ECharts的API和配置,开发者可以创建出丰富多样的地图应用,实现数据与地理位置的有效结合,为用户提供直观、生动的数据分析视图...

    封装了qt的json操作类QtSharpJson.zip

    开发者可能在原有的Qt JSON类基础上添加了新的特性或优化了某些操作,使得在处理JSON数据时更加便捷。 描述中提到"可以实列化后一次性将json内容进行容器化",这意味着QtSharpJson库提供了一种方式,允许开发者通过...

    2020最新国家行政数据五(乡镇村)Json格式.rar

    总的来说,“2020最新国家行政数据五(乡镇村)Json格式”为各界提供了权威、详尽的行政区域信息,是学术研究、政策分析、软件开发等领域的宝贵资料。正确理解和利用这份数据,有助于我们更深入地认识和理解我国的...

    HttpJsonServer20170106_HTTP_httpjson_JSON_http服务器_HttpJsonServer

    《HttpJsonServer:基于HTTP与JSON的网络服务器详解》 HttpJsonServer,正如其名,是一种基于HTTP协议和JSON数据...通过深入研究和实践,开发者能够更好地理解和掌握Web服务的核心技术,提升自身在IT领域的专业能力。

    RACE英语阅读理解json格式

    总结来说,RACE英语阅读理解JSON数据集为NLP领域的研究提供了一个丰富的资源,它利用JSON格式优化了数据结构,便于Python等编程语言进行处理。通过理解并有效地利用这些数据,我们可以构建更加智能的阅读理解系统,...

Global site tag (gtag.js) - Google Analytics