java json交互_Json-Js-Java相互交互宝典

一、什么是 JSON

JSON 指的是

JavaScript

对象表示法(JavaScript Object Notation)

JSON

是轻量级的文本数据交换格式

JSON

独立于语言 *

JSON

具有自我描述性,更易理解

JSON 使用

JavaScript 语法来描述数据对象,但是 JSON 仍然独立于语言和平台。JSON 解析器和 JSON

库支持许多不同的编程语言。

二、JSON 语法规则

JSON 语法是

JavaScript 对象表示法语法的子集。

数据在名称/值对中:

数据由逗号分隔,

花括号保存对象{

}

方括号保存数组[

]

如:"firstName" :

"John"等价于这条

JavaScript 语句:firstName = "John"

关注公众号有更多技术文章啊

a4c26d1e5885305701be709a3d33442f.png

三、JSON 数据类型

数字:number(整数或浮点数)

字符串:string(在双引号中)

逻辑值:boolean(true

或 false)

数组:array(在方括号中)

对象:object(在花括号中)

Null

如:

1.数字

{"age"

:1}

2.字符串

{"name":

"admin"}

3.JSON

对象

JSON

对象在花括号中书写:

对象可以包含多个名称/值对:

{

"firstName":"John" , "lastName":"Doe" }

这一点也容易理解,与这条 JavaScript 语句等价:

firstName =

"John"

lastName =

"Doe"

4.JSON

数组

JSON

数组在方括号中书写:

数组可包含多个对象:

{

"employees":

[{

"name":

"tom1",

"age":

22

}, {

"name":

"tom2",

"age":

30

}, {

"name":

"tom3",

"age":

40

}]

}

在上面的例子中,对象 "employees"

是包含三个对象的数组。每个对象代表一条关于某人(有姓名和年龄)的记录。

四、js操作JSON

1.操作对象

var employees =  { "name":"tony" , "age":33

};

;

2.操作数组

获取JSON数组中的数据

var employees =

[

{

"firstName":"Bill" , "lastName":"Gates" },

{

"firstName":"George" , "lastName":"Bush" },

{

"firstName":"Thomas" , "lastName": "Carter" }

];

;

遍历输出JSON数组中的值

var employees =[

{

"firstName":"Bill" , "lastName":"Gates" },

{

"firstName":"George" , "lastName":"Bush" },

{

"firstName":"Thomas" , "lastName": "Carter" }

];

for(var

i=0;i

document.write(employees[i].firstName+"

"+employees[i].lastName+"

" );

}

五、案例操作

说明:通过js都Json数据进行维护

var obj = {

"v1":

"value1",

"v2":

"value2",

"count":

3,

"person":

[ //数组结构JSON对象,可以嵌套使用

{

"id":

1,

"name":

"张三"

},

{

"id":

2,

"name":

"李四"

}

],

"object":

{ //对象结构JSON对象

"id":

1,

"msg":

"对象里的对象"

}

};

function

readJSON() {

;

;

//或者

;

//或者

}

function

listJson() {

for

(var c in obj) {

document.write(c

+ ":" +obj[c] +"

");

}

}

function

updateJson() {

obj.v1="value3";

}

function

addJson() {

obj.v8="value8";

}

function

deleteJson() {

delete

obj.v1;

}

六、Java和Json相互转换

1.需要jar包

a4c26d1e5885305701be709a3d33442f.png

2.数据封装类

publicclassPerson

{

privateintid;

privateString

name;

publicPerson(){

}

publicPerson(intid,

String name)

{

this.id=

id;

this.name=

name;

}

publicintgetId()

{

returnid;

}

publicvoidsetId(intid)

{

this.id=

id;

}

publicString

getName() {

returnname;

}

publicvoidsetName(String

name)

{

this.name=

name;

}

}

3.java转换为json

// 1.java-->Json对象

Person p1=

newPerson(1,

"张三1");

JSONArray perJson=

JSONArray.fromObject(p1);

String perString=

perJson.toString();

System.out.println(perString);

// 2.java-->Json集合

Person p2=

newPerson(2,

"张三2");

Person p3=

newPerson(3,

"张三3");

Person p4=

newPerson(4,

"张三4");

ArrayListlist=

newArrayList();

list.add(p2);

list.add(p3);

list.add(p4);

JSONArray listJson=

JSONArray.fromObject(list);

String listString=

listJson.toString();

System.out.println(listString);

4.Json转换为java

// 3.Json-->java

对象

if(perString.indexOf("[")

!= -1) {

perString=

perString.replace("[",

"");

}

if(perString.indexOf("]")

!= -1) {

perString=

perString.replace("]",

"");

}

JSONObject obj=

newJSONObject().fromObject(perString);

Person p5=

(Person) JSONObject.toBean(obj,

Person.class);

System.out.println(p5.getName());

// 4.Json-->java

Array

List list2=

JSONArray.toList(listJson,

newPerson(),

newJsonConfig());

Person person=

(Person) list2.get(1);

System.out.println(person.getName());

a4c26d1e5885305701be709a3d33442f.png

关注公众号有更多技术文章啊

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值