您的位置:首页 > 移动开发 > Objective-C

JSON (javascript object notation)

2018-03-23 22:56 399 查看
##1)JSON是什么?
是一种轻量级的数据交换格式。
注:数据交换:将要交换的数据先转换成一种与平台无关的数据格式,然后交组接收方来处理。
            轻量经:相对于xml,JSON文档更小,解析的速度更快。



2)语法:
##表示一个对象
{属性名:属性值,属性名:属性值...}
注:
        a.属性名必须使用双引号括起来。
        b.属性值的类型可以是string,number,true/false,null,object.

        c.属性值如果是string,必须使用双引号括起来。
##表示一个由对象组成的数组
[{},{},{},{}...]

3.使用JSON



###将java对象转换成json字符串。
            可以使用json官方的工具  www.json.org(json-lib).

            1。导包(这里我用了外面的包,新建了一个lib然后来用的,关于怎么导进来和怎么用请看: https://blog.csdn.net/baidu_37107022/article/details/70876993)json-lib-2.2.3-jdk15.jar commons-beanutils-1.7.0.jar
commons-httpclient-3.1.jar
commons-lang-2.3.jar
commons-logging-1.1.1.jar
commons-collections-3.2.1.jar
ezmorph-1.0.3.jar       



 2.建一个实体类,用来把实体类转换json字符串。(服务器端把对象转换为JSON字符串)
package json;

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

import bean.Stock;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;

public class JsonTest {
/*
* 将java对象转换成json字符串

*/
public static void test1() {
Stock s=new Stock();
s.setCode("6500");
s.setName("平安");
s.setPrice(96);

//使用json-lib提供的工具来转换
JSONObject jsonObj=
JSONObject.fromObject(s);
String jsonStr=
jsonObj.toString();
System.out.println(jsonStr);
}
/*
* 多个对象组成的数组或者集合
* 转换成json字条串。
*/
public static void test2() {
List<Stock>stocks=
new ArrayList<Stock>();
for(int i=0;i<3;i++) {
Stock s=new Stock();
s.setCode("8500"+i);
s.setName("中建20"+i);
s.setPrice(25+i);
stocks.add(s);
}
JSONArray jsonarr=
JSONArray.fromObject(stocks);
System.out.println(jsonarr);

}
public static void main(String[] args) {
test1();
test2();
}

}
        3.(客户端把json对象转换成 javascript对象)
<!DOCTYPE html>
<html>
<head>
<meta cotent="html;charaset=utf-8"/>

<script type="text/javascript">
function f1(){
var obj={
"code":"600877",
"name":"中国深圳"}

alert(obj.code);
}
function f2(){
var obj={"name":"Sally","address":{"city":"北京","street":"长安街","room":1008}
}
alert(obj.address.street);
}
//使用jsony语法表示对象组成的数组
function f3(){
var arr=[{"code":"600877","name":"中国深圳"},{"code":"600474","name":"中国平安"},{"code":"600877","name":"中国深大 "}];
alert(arr[1].code);

}
/*
将json字符串转换成javascript对象
*/
function f4(){
var str='{"name":"tom","age":22}';
//使用javascript内置的JSON对象
//提供的方法来转换. parse解析的意思
var obj=JSON.parse(str);
alert(obj.name);
}
//数组
function f5(){
var str='[{"name":"tom","age":22},'
+'{"name":"Eric","age":23}]';
var arr=JSON.parse(str);
alert(arr[1].name);

}
</script>
</head>
<body style="font-size:30px;">
<a href="javascript:f1();">ClickMe</a>
<a href="javascript:f2();">ClickMe</a>
<a href="javascript:f3();">ClickMe</a>
<a href="javascript:f4();">Clickme</a>
<a href="javascript:f5();">Clickme</a>

</body>
</html>

总结:

1.将java对象转换成json字符串。
        可以使用json官方的工具(json-lib)。

        JSONObject,JSONArray
1. 将json字符串转换成javascript对象
        ----使用的是javascript内置的对象JSON提供的parse()方法
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  JSON