成都网站建设
|
域名注册
|
虚拟主机
|
网站制作
|
网站案例
|
网站优化
|
网站推广
|
企业邮局
|
服务器租用
|
广告设计
首页
域名注册
虚拟主机
网站建设
服务器租用
营销推广
网站程序
前端开发
移动互联网
企业邮箱
广告设计
|
成都VI设计
|
画册设计制作
|
成都包装设计
|
网页设计
|
成都虚拟主机
|
网站建设
|
营销型网站建设
前端开发
html
div+css
css
jQuery
JavaScript教程
ajax教程
XML教程
json教程
bootstrap教程
域名注册
英文域名
中文域名
域名转入\转出
通用网址
无线网址
虚拟主机
主机购买
数据库
主机管理
FTP上传
主机续费升级
网站建设
网站策划
网站方案
网页设计
网站制作
网站改版
服务器租用
web服务器
FTP服务器
服务器租用
服务器托管
云主机服务器
营销推广
seo优化
网站推广
搜索引擎
免费资源
网站程序
vb编程
asp程序
php程序
asp.net程序
C#程序
移动互联网
wap手机网站
app应用开发
微网站
企业邮箱
企业邮箱优势
企业邮箱设置
邮箱收发问题
邮箱功能讲解
邮箱其他问题
网站备案
备案流程指南
备案资料下载
备案常见问题
各省备案要求
当前位置:
创新互联
>>
常见问题
>>
前端开发
>>
json教程
>>
json入门教程+在java中的一些便捷操作
json入门教程+在java中的一些便捷操作
作者:创新互联 文章来源:前端开发部 点击数:
更新时间:2008-09-10
JSON
(JavaScript Object Notation) 是一种轻量级的数据交换格式,非常适合于服务器与
JavaScript的
交互。相比XML,他更易于人阅读和编写,它是
JavaScript
的一个子集。 JSON采用完全独立于语言的文本格式,可以在流行的语言中使用,比如C# Java C++ VB。这些特性使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)。
这些都是常见的数据结构。事实上大部分现代计算机语言都以某种形式支持它们。这使得一种数据格式在同样基于这些结构的编程语言之间交换成为可能。
二、JSon具体表现形式
1、对象是一个无序的“‘键/值’对”集合。一个对象以“{”(左括号)开始,“}”(右括号)结束。每个“名称”后跟一个“:”(冒号);“‘名称/值’对”之间使用“,”(逗号)分隔。
2、数组是值(value)的有序集合。一个数组以“[”(左中括号)开始,“]”(右中括号)结束。值之间使用“,”(逗号)分隔。
3、值(value)可以是双引号括起来的字符(string)、数值(number)、true、false、 null、对象(object)或者数组(array)。这些结构可以嵌套。
4、字符串(string)是由双引号包围的任意数量Unicode字符的集合,使用反斜线转义。
一个字符(character)即一个单独的字符串(character string)。字符串(string)与C或者Java的字符串非常相似。
5、数值(number)也与C或者Java的数值非常相似。除去未曾使用的八进制与十六进制格式。除去一些编码细节。
在javascript中
[javascript] view plaincopyprint?
<script type="text/javascript">
var json = "{name:'jack', age:20, city:{address:'北京市',street:'朝阳区'}}";
alert(json.name);
alert(json.age);
alert(json.city.address + json.city.street);
</script>
大家可以自己试试看!
三、JSon在
Java
中应用
废话不说直接上代码!!这里我用的Junit做的测试,如果不懂的童鞋可以学习一下,我的演示相对简单。
[java]
package com.jelly.json.test;
import static org.junit.Assert.assertEquals;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import net.sf.ezmorph.object.DateMorpher;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import net.sf.json.util.JSONUtils;
import org.apache.commons.beanutils.PropertyUtils;
import org.junit.Test;
import com.jelly.json.entity.MyBean;
import com.jelly.json.entity.Person;
import com.jelly.json.entity.Student;
@SuppressWarnings("unchecked")
public class JsonTest {
private static void setDataFormat2JAVA(){
//设定日期转换格式
JSONUtils.getMorpherRegistry().registerMorpher(new DateMorpher(new String[] {"yyyy-MM-dd", "yyyy-MM-dd HH:mm:ss"}));
}
//json转成Object
@Test
public void testJsonToObj(){
String json = "{id:'1001',name:'张三',age:22}";
Student stu = null;
setDataFormat2JAVA();
JSONObject obj = JSONObject.fromObject(json);
stu = (Student)JSONObject.toBean(obj, Student.class);
System.out.println(stu);
}
//从一个
JSON
数组得到一个java对象数组
@Test
public void testJsonArrToArray(){
String jsonStus = "[{id:1,name:'jack',age:20},{id:2,name:'rose',age:20},{id:3,name:'admin',age:20}]";
JSONArray array = JSONArray.fromObject(jsonStus);
Student[] stu = new Student[array.size()];
for(int i = 0; i < array.size(); i++){
JSONObject jsonObject = array.getJSONObject(i);
stu[i] = (Student)JSONObject.toBean(jsonObject, Student.class);
}
System.out.println(stu[0]);
System.out.println(stu[1]);
System.out.println(stu[2]);
//System.out.println(stu[3]); 会报错
}
//从一个JSON数组得到一个java集合
@Test
public void testJsonArrToList(){
String jsonStus = "[{id:1,name:'jack',age:20},{id:2,name:'rose',age:20},{id:3,name:'admin',age:20}]";
JSONArray array = JSONArray.fromObject(jsonStus);
List<Student> stu = new ArrayList<Student>();
for(int i = 0; i < array.size(); i++){
JSONObject jsonObject = array.getJSONObject(i);
stu.add((Student)JSONObject.toBean(jsonObject, Student.class));
}
System.out.println(stu.get(0));
System.out.println(stu.get(1));
System.out.println(stu.get(2));
}
//从
json
数组中得到相应
java
数组
@Test
public void testArrayForJson(){
String jsonString = "['q','c','d']";
JSONArray jsonArray = JSONArray.fromObject(jsonString);
Object[] strs = jsonArray.toArray();
System.out.print(strs[0]);
System.out.print(strs[1]);
System.out.print(strs[2]);
}
//字符串转换成json
@Test
public void testJsonStrToJSON(){
&n
Ajax中使用JSON
:上一篇
.net处理JSON简明教程
:下一篇
json教程相关文章
Ajax中使用JSON
数据交换格式JSON
json基础教程理解Json
json使用教程
.net处理JSON简明教程
创新互联专业网站设计制作、网站建设、UI设计、网页设计。欢迎咨询028-86922220
网站备案
|
企业邮箱
|
移动互联网
|
前端开发
|
网站程序
|
营销推广
|
服务器租用
|
网站建设
|
虚拟主机
|
域名注册
|
热门搜索
服务电话:028-86922220 13518219792 公司地址:成都市太升南路288号锦天国际A幢10楼2号
企业邮箱:
service@cdxwcx.com
版权所有:成都创新互联科技有限公司 蜀ICP备09010846号
成都网站建设