JSON详解
2016-02-03 11:07
615 查看
参考链接:
http://tim1995.iteye.com/blog/36776
Json是为Web应用开发者提供的一种数据交换格式。
同XML或HTML片段相比,JSON提供了更好的简单性和灵活性。
和XML一样,JSON也是基于纯文本的数据格式。
JSON天生是为JavaScript准备的,可以用JSON传输一个简单的String,Number,Boolean,也可以传输一个数组,或者一个复杂的Object对象。
JSON表示一个数组对象:
使用[]包含所有元素,元素可以是任意value, 如,["abc",123,false,null]
JSON表示Object对象:
对象在json中用{}包含一系列无序的Key-Value键值对表示,实际上此处的Object相当于Java中的Map<String,Object>,而不是Java的Class,注意Key只能用String表示。
如:{"city":"Beijing","street":"HaiDian Road","postcode":100025}
其中value也可以是另一个Object或数组
如:{"name":"Jane","address":
{"city":"beijing","postcode":100025}
}
客户端使用 JavaScript处理服务器端传来的JSON格式数据:
function handleJson(){
var j={"name":"Jane","address":
{"city","beijing","postcode":100025}
};
document.write(j.name);
document.write(j.address.city);
document.write(j.address["city"]);
document.write(j["address"]["city"]);
}
使用JSON-lib在服务器端对JSON字符串和JSON对象进行转换:
如:从页面传到Action中的参数是json字符串,
复杂的json串:[{'name':'a','sex':'m'},{'name':'b','sex':'f'}]
JSONTokenizer token=new JSONTokenizer(jsonString);
JSONArray array=(JSONArray)token.nextValue();
for(int i=0;i<array.length;i++){
JSONObject obj=array.getJSONObject(i);
String name=obj.getString("name");
String sex=obj.getString("sex");
}
简单的json串:{'name':'a','sex':'b'}
JSONObject jsonobj=JSONObject.fromObject(jsonString);
String name=jsonobj.getString("name");
String sex=jsonobj.getString("sex");
研究json-lib中JSONTokenizer和JSONArray的源码可知:JSONArray会把带有中括号或括号([]或())的字符串解析成一个数组,而把带花括号({})的会解析成一个JSONObject对象.
Ojebct对象或map对象转为JSON:
JsonConfig jsonConfig = JsonUtil.configJson("yyyy-MM-dd");
String str = JSONArray.fromObject(result,jsonConfig).toString();
事例
json字符串:
{IDNAME=8a1780f1407b7e9701407b842e53000d,abcd}
http://tim1995.iteye.com/blog/36776
Json是为Web应用开发者提供的一种数据交换格式。
同XML或HTML片段相比,JSON提供了更好的简单性和灵活性。
和XML一样,JSON也是基于纯文本的数据格式。
JSON天生是为JavaScript准备的,可以用JSON传输一个简单的String,Number,Boolean,也可以传输一个数组,或者一个复杂的Object对象。
JSON能够描述四种简单的类型(字符串、数字、布尔值及null)和两种结构化类型(对象及数组)。
JSON表示一个数组对象:
使用[]包含所有元素,元素可以是任意value, 如,["abc",123,false,null]
JSON表示Object对象:
对象在json中用{}包含一系列无序的Key-Value键值对表示,实际上此处的Object相当于Java中的Map<String,Object>,而不是Java的Class,注意Key只能用String表示。
如:{"city":"Beijing","street":"HaiDian Road","postcode":100025}
其中value也可以是另一个Object或数组
如:{"name":"Jane","address":
{"city":"beijing","postcode":100025}
}
客户端使用 JavaScript处理服务器端传来的JSON格式数据:
function handleJson(){
var j={"name":"Jane","address":
{"city","beijing","postcode":100025}
};
document.write(j.name);
document.write(j.address.city);
document.write(j.address["city"]);
document.write(j["address"]["city"]);
}
使用JSON-lib在服务器端对JSON字符串和JSON对象进行转换:
如:从页面传到Action中的参数是json字符串,
复杂的json串:[{'name':'a','sex':'m'},{'name':'b','sex':'f'}]
JSONTokenizer token=new JSONTokenizer(jsonString);
JSONArray array=(JSONArray)token.nextValue();
for(int i=0;i<array.length;i++){
JSONObject obj=array.getJSONObject(i);
String name=obj.getString("name");
String sex=obj.getString("sex");
}
简单的json串:{'name':'a','sex':'b'}
JSONObject jsonobj=JSONObject.fromObject(jsonString);
String name=jsonobj.getString("name");
String sex=jsonobj.getString("sex");
研究json-lib中JSONTokenizer和JSONArray的源码可知:JSONArray会把带有中括号或括号([]或())的字符串解析成一个数组,而把带花括号({})的会解析成一个JSONObject对象.
Ojebct对象或map对象转为JSON:
JsonConfig jsonConfig = JsonUtil.configJson("yyyy-MM-dd");
String str = JSONArray.fromObject(result,jsonConfig).toString();
事例
json字符串:
{IDNAME=8a1780f1407b7e9701407b842e53000d,abcd}
相关文章推荐
- JavaScript高级程序设计学习笔记第二章
- !!(2个叹号)在js代码中出现怎么理解
- afnetworking中,规范json格式的代码---这样打印出来errormessage就非常的方便了,呵呵呵呵
- javascript鼠标右键菜单自定义效果
- javascript中关于字符串替换 replace() 方法的使用(咋个办呢 zgbn)
- 每天学习十分钟22之JavaScript
- 2016-02-03 JS正则表达式
- js产生随机数
- Javascript的对象操作 - 数组元素操作 【javascript、数组、插入、删除、替换】 ( 咋个办呢 -zgbn)
- videojs 视频开发API
- javascript-倒计时-(咋个办呢-zgbn)
- JavaScript获取当前运行脚本文件所在目录的方法
- JavaScript获取对象在页面中位置坐标的方法
- JSP
- Javascript函数声明和函数表达式
- Video of Nanjing receives millions of hits
- js密码强度验证代码
- QScript 解析json
- JSONP跨域的原理解析及其实现介绍
- Javascript模式——函数提升 (笔记)