按照最简单的形式,可以用下面这样的 JSON 表示名称 / 值对:
{ "firstName": "Brett" }
{ "firstName": "Brett", "lastName":"McLaughlin", "email": "brett@newInstance.com" }
{ "people": [
{ "firstName": "Brett", "lastName":"McLaughlin", "email": "brett@newInstance.com" },
{ "firstName": "Jason", "lastName":"Hunter", "email": "jason@servlets.com" },
{ "firstName": "Elliotte", "lastName":"Harold", "email": "elharo@macfaq.com" }
]}
{ "programmers": [
{ "firstName": "Brett", "lastName":"McLaughlin", "email": "brett@newInstance.com" },
{ "firstName": "Jason", "lastName":"Hunter", "email": "jason@servlets.com" },
{ "firstName": "Elliotte", "lastName":"Harold", "email": "elharo@macfaq.com" }
],
"authors": [
{ "firstName": "Isaac", "lastName": "Asimov", "genre": "science fiction" },
{ "firstName": "Tad", "lastName": "Williams", "genre": "fantasy" },
{ "firstName": "Frank", "lastName": "Peretti", "genre": "christian fiction" }
],
"musicians": [
{ "firstName": "Eric", "lastName": "Clapton", "instrument": "guitar" },
{ "firstName": "Sergei", "lastName": "Rachmaninoff", "instrument": "piano" }
]
}
JSON语法格式
对象:对象包含在{}之间
属性:采用Key-Value对来表示。属性之间使用逗号分开。string : value
数组:数组存放在[]之间[elements]
元素:元素之间用逗号分开
值:值可以是字符串,数字,对象,数组,true,false,null
处理JSON数据
要应用JSON,你需要像处理XML一样对JSON格式的数据进行解析。
由于其设计简单,Javascrīpt内置的eval()过程可以很方便地对JSON进行解析。
如下面的代码片断所示:
var testObject = eval('(' + json_data + ')');
解析JSON例子
<html>
<head>
<meta name="vs_defaultClientscrīpt" content="Javascrīpt">
<script type='text/javascript'>
function jsontest() {
//json格式字符串
var jsontext = "{"man":{"weight":"75kg","age":"24"},"ar":["1","2","3","4"]}" ;
//解析json
var aman = eval('('+jsontext+')');
alert(aman.man.weight);
//JSON是JavaScript原生格式,处理JSON格式的数据不需要使用任何额外的工具包或API
//JSON对象
var json = {"man":{"weight":"75kg","age":"24"},"ar":["1","2","3","4"]};
alert(json.man.age);
//修改JSON数据 可以用.和[]导航
json.man.age = 50;
alert(json.man.age);//修改后的值
alert(json.ar[0]);
}
</script>
</head>
<body onload="jsontest();">
</body>
</html>
JSON应用(java&javascript)
1.下载相关的JSON相关jar包( http://json-lib.sourceforge.net/ )
WEB-INF/lib 添加如下jar
json-lib-2.2.3-jdk15.jar
jakarta commons-lang 2.4
jakarta commons-beanutils 1.7.0
jakarta commons-collections 3.2
jakarta commons-logging 1.1.1
ezmorph 1.0.6
需用到json、xml之间的转换需要 xom-1.1.jar
2.下载 相关的 js
json.js
有两种需求,一种是 从java 转 js ,二是从 js 到 java ,
不管哪种需求,先 在 java 端把相应的类建好,例如
(一)如果从 java 到 js ,则 新建 java对象
import net.sf.json.JSONObject;
public class User {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public static void main(String[] args) throws Exception{
User user = new User();
user.setName("张山");
JSONObject json = JSONObject.fromObject(user);//将普通对象转换成JSON对象
String text = json.toString();//将JSON对象转换成字符串
System.out.println(text);//可以将此字符串返回给前台JS
}
/**
* 在 js端引入json.js,然后对得到的字符串text 使用
* var jsObj = JSON.parse(text);
* 便得到了 js端的对象jsObj,再直接对
* var name = jsObj.name;
* 就可以了得到 user 的 name 的值 "张三" 了;
*/
/**
* 也可在 js端用函数eval('('+xmlHttp.responseText+')')将后台传过来的字符串转换对象
* var jsObj = eval('('+xmlHttp.responseText+')')
* 便得到了 js端的对象jsObj,再直接对
* var name = jsObj.name;
* 就可以了得到 user 的 name 的值 "张三" 了;
*/
}
java转换json对象常用方法
Java代码转换成json代码
1.List集合转换成json代码
List list = new ArrayList();
list.add( "first" );
list.add( "second" );
JSONArray jsonArray = JSONArray.fromObject( list );
2.Map集合转换成json代码
Map map = new HashMap();
map.put("name", "json");
map.put("bool", Boolean.TRUE);
map.put("int", new Integer(1));
JSONObject jsonMap = JSONObject.fromObject(map);
3.Bean转换成json代码
JSONObject jsonObject = JSONObject.fromObject(new JsonBean());
4.数组转换成json代码
boolean[] boolArray = new boolean[] { true, false, true };
JSONArray jsonArray1 = JSONArray.fromObject(boolArray);
5. 一般数据转换成json代码
JSONArray jsonArray = JSONArray.fromObject("['json','is','easy']" );
6.json数据过滤
适合一个对象有很多属性,而前台只需要个别属性时。
如person对象有id,name,password,email属性,前台只需要name属性
Person p1 = new Person(1,"ljh1","111111","12000380811");
JsonConfig config = new JsonConfig();
config.setExcludes(new String[]{"id","password","email"});//排除相应的属性
JSONObject obj = JSONObject.fromObject(p1,config);
(二) 如果从 js 到 java , 则在js端,
var jsObj = new Object();
jsObj.name = "张三";
然后用
var text = JSON.stringify(jsObj);
alert(text);
得到字符串text,再把text传给 java ,
java 拿到 text 后
JSONObject jso = JSONObject.fromObject(text);
User user= (User) jso.toBean(jso, User.class);
便可以得到 user 对象了
(如果不需要转化为User类型或者没有对应的User类,则可直接用 jso.get(key);来取值)
相关推荐
对象与json相互转换,map转json,json转map等基础工具类
JSON基础教程.CHM
本文是在6、NIFI综合应用场景-离线同步Mysql数据到HDFS中基础上完成的,仅仅是将上文中的json数据转成txt文件。本文仅列出了和该示例增加的部分,其他的则没有变化。 本文前置条件是mysql、hadoop、nifi、hive和hue...
Python基础教程:json序列化详细⽤法介绍 Python内置的json模块提供了⾮常完善的对象到JSON格式的转换。废话不多说,我们先看看如何把Python对象变成⼀个JSON: d = dict(name='Kaven', age=17, sex='Male') print...
commons-beanutils-1.8.0.jar、commons-collections-3.1.jar、commons-lang-2.4-1.jar、commons-logging-1.0.4.jar、dom4j-1.6.1-hudson-3.jar、ezmorph-1.0.6.jar、fastjson-1.1.39.jar、json-lib-2.2.1-jdk15.jar...
这份资源详细介绍了JavaScript中如何将JSON格式的数据转换为JavaScript对象。...无论您是否已经具备了JavaScript的基础知识,这份资源都将帮助您更好地掌握JavaScript中JSON转换的方法,并为您的开发工作提供有力支持。
NSData在IOS开发中是一个神奇的数据类型。比如说NSData可以与NSImage类型转换等等。NSData与JSON数据类型转换也是...本文章是在实践基础上,给出示例代码来说明如何使用NSData,以及NSData与JSON,还有其他类型的转换。
json转excel的demo示例,支持json多层级拉平变成Excel中的列名。 采用python中的json、pandas实现。 可在此基础上进一步开发。
jquery.json2xml.js&&jquery.xml2json.js在jQuery的基础上实现json与xml的相互转换
在cjson基础上,实现了字符串与结构体自动相互转化的功能。 可以自动将字符串(JSON格式)转化为对应的结构体,反之亦可
在cjson基础上,实现了字符串与结构体自动相互转化的功能。 可以自动将字符串(JSON格式)转化为对应的结构体,反之亦可。
会把user的json字符串转换成user对象 很简单的 本人学习用的 如果有基础的同学 可以绕过啦 另外 里面用的架包有junit 里面只是作为函数入口而已 如果不用junit 就直接改成main入口函数就可以了 ">用java实现的递归...
JSON字符串和java对象的互转【json-lib】 在开发过程中,经常需要和别的系统交换数据,数据交换的格式有XML、JSON等,JSON作为一个轻量级的数据格式比xml效率要高,XML需要很多的标签,这无疑占据了网络流量,JSON...
NULL 博文链接:https://bijian1013.iteye.com/blog/2391682
- 整个代码由一个头文件组成 json.hpp,没有子项目,没有依赖关系,没有复杂的构建系统,...为了保持高质量,该项目遵循核心基础设施倡议(CII)的最佳实践 改良自德国大牛nlohmann的开源项目,可以二次封装在dll中。
python基础教程:在python中利⽤dict转json按输⼊顺序输出内容⽅式 今天⼩编就为⼤家分享⼀篇在python中利⽤dict转json按输⼊顺序输出内容⽅式,具有很好的参考价值,希望对⼤家有所帮助。⼀起跟随 ⼩编过来看看吧 ...
NULL 博文链接:https://bijian1013.iteye.com/blog/2391681
使用Node.js将RRD文件转换为JSON文件,而无需基础依赖。 快速概述: $ npm run build origin . rrd destination . json $ node index . js origin . rrd destination . json 输入: 转换需要使用Round Robin...
精心整理常用汉字2000个,包含汉字名称,笔画数,释义等字段,可下载应用于数据库基础数据构建上层应用,数据格式为json,noSql数据库可以直接导入,sql数据库请自行转换结构。
三重json Triple JSON 是 JSON 中的一个小型迷你语言,用于将 JSON 转换为 JSON用法 var compiler = require('./compiler');var testcode = require('./sample.json');var transformer = compile(testcode);var root...