JS和JAVA使用JSON方法解析

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

JS和JAVA使用JSON方法解析

一.JS部分==================

将json字符串转换为json对象的方法。在数据传输过程中,json是以文本,即字符串的形式传递的,而JS操作的是JSON对象,所以,JSON对象和JSON字符串之间的相互转换是关键。

例如:

JSON字符串:

[javascript] view plain copy 在CODE上查看代码片派生到我的代码片

var str1 = '{ "name": "cxh", "sex": "man" }';

JSON对象:

[javascript] view plain copy 在CODE上查看代码片派生到我的代码片

var str2 = { "name": "cxh", "sex": "man" };

一、JSON字符串转换为JSON对象

要使用上面的str1,必须使用下面的方法先转化为JSON对象:

[javascript] view plain copy 在CODE上查看代码片派生到我的代码片

//由JSON字符串转换为JSON对象

var obj = eval('(' + str + ')');

或者

[javascript] view plain copy 在CODE上查看代码片派生到我的代码片

//由JSON字符串转换为JSON对象

var obj = str.parseJSON();

或者

[javascript] view plain copy 在CODE上查看代码片派生到我的代码片

//由JSON字符串转换为JSON对象

var obj = JSON.parse(str);

然后,就可以这样读取:

[javascript] view plain copy 在CODE上查看代码片派生到我的代码片

Alert();

Alert(obj.sex);

特别注意:如果obj本来就是一个JSON对象,那么使用eval()函数转换后(哪怕是多次转换)还是JSON对象,但是使用parseJSON()函数处理后会有问题(抛出语法异常)。

二、可以使用toJSONString()或者全局方法JSON.stringify()将JSON对象转化为JSON字符串。

例如:

[javascript] view plain copy 在CODE上查看代码片派生到我的代码片

//将JSON对象转化为JSON字符

var last=obj.toJSONString();

或者

[javascript] view plain copy 在CODE上查看代码片派生到我的代码片

//将JSON对象转化为JSON字符

var last=JSON.stringify(obj);

alert(last);

上面的几个方法中,除了eval()函数是js自带的之外,其他的几个方法都来自json.js包。新版本的JSON 修改了API,将JSON.stringify() 和JSON.parse() 两个方法都注入到了JavaScript 的内建对象里面,前者变成了Object.toJSONString(),而后者变成了String.parseJSON()。如果提示找不到toJSONString()和parseJSON()方法,则说明您的json包版本太低。

二.Java部分===============

1. json-lib是一个java类库,提供将Java对象,包括beans, maps, collections, Java arrays and XML等转换成JSON,或者反向转换的功能。

2. json-lib 主页:/

3.执行环境

需要以下类库支持(Maven构建)

[html] view plain copy 在CODE上查看代码片派生到我的代码片

pom.xml

net.sf.json-lib

json-lib

2.4

jdk15

下表中是Java与JavaScript类型对应关系。

代码示例:

注:在将Json 形式的字符串转换为JavaBean 的时候需要注意JavaBean 中必须有无参构造函数,否则会报如下找不到初始化方法的错误

JavaBean代码:

[java] view plain copy 在CODE上查看代码片派生到我的代码片

package com.ppl.jsonconvert;

public class Student {//姓名

private String name;

//年龄

private String age;

//住址

private String address;

//在将Json 形式的字符串转换为JavaBean 的时候需要注意JavaBean 中必须有无参构造函数,否则会报如下找不到初始化方法的错误

public Student() {

super();

}

public Student(String name, String age, String address) {

super();

= name;

this.age = age;

this.address = address;

}

public String getName() {

return name;

相关文档
最新文档