JS解析json数据(如何将json字符串转化为数

JS解析json数据(如何将json字符串转化为数,第1张

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 40 Transitional//EN">

<HTML>

<HEAD>

<TITLE> New Document </TITLE>

<SCRIPT LANGUAGE="JavaScript">

var t="{'firstName': 'cyra', 'lastName': 'richardson', 'address': { 'streetAddress': '1 Microsoft way', 'city': 'Redmond', 'state': 'WA', 'postalCode': 98052 },'phoneNumbers': [ '425-777-7777','206-777-7777' ] }";

var jsonobj=eval('('+t+')');

alert(jsonobjfirstName);

alert(jsonobjlastName);

var t2="[{name:'zhangsan',age:'24'},{name:'lisi',age:'30'},{name:'wangwu',age:'16'},{name:'tianqi',age:'7'}] ";

var myobj=eval(t2);

for(var i=0;i<myobjlength;i++){

alert(myobj[i]name);

alert(myobj[i]age);

}

var t3="[['<a href=# onclick=openLink(14113295100,社旗县国税局桥头税务所,14113295100,d6d223892dc94f5bb501d4408a68333d,swjg_dm);>14113295100</a>','社旗县国税局桥头税务所','社旗县城郊乡长江路西段']]";

//通过eval() 函数可以将JSON字符串转化为对象

var obj = eval(t3);

for(var i=0;i<objlength;i++){

for(var j=0;j<obj[i]length;j++){

alert(obj[i][j]);

}

}

/

//stringifier 函数的作用跟 parse 相反, 用来将一个js对象转换为 JSON 文本。

var jsonText = JSONstringify(obj);

alert(jsonText);

//如果基于安全的考虑的话,最好是使用一个 JSON 解析器。 一个 JSON 解析器将只接受 JSON 文本。所以是更安全的。

var myObject = JSONparse(myJSONtext, filter);

//可选的 filter 参数将遍历每一个value key 值对, 并进行相关的处理。如:

//如

myData = JSONparse(text, function (key, value) {

return keyindexOf('date') >= 0 new Date(value) : value; });

//stringifier 函数的作用跟 parse 相反, 用来将一个js对象转换为 JSON 文本。

var myJSONText = JSONstringifier(myObject);

/

</SCRIPT>

</HEAD>

<BODY>

</BODY>

</HTML>

1简单的解析json字符串

首先将json字符串转换为json对象,然后再解析json对象,过程如下。

JSONObject jsonObject = JSONObjectfromObject(jsonStr);

[java] view plain copy

<pre></pre><span style="white-space:pre"></span>

<pre></pre>

根据json中的键得到它的值

String name = jsonObjectgetString("name");

int num = jsonObjectgetInt("num");

String sex = jsonObjectgetString("sex");

int age = jsonObjectgetInt("age");

2将json字符串转换为java对象

同样先将json字符串转换为json对象,再将json对象转换为java对象,如下所示。

JSONObject obj = new JSONObject()fromObject(jsonStr);//将json字符串转换为json对象

将json对象转换为java对象

Person jb = (Person)JSONObjecttoBean(obj,Personclass);//将建json对象转换为Person对象

3将java对象转换为json字符串

先将java对象转换为json对象,在将json对象转换为json字符串

JSONObject json = JSONObjectfromObject(obj);//将java对象转换为json对象

String str = jsontoString();//将json对象转换为字符串

完整代码如下:

[java] view plain copy

package bazparse;

import javautilArrayList;

import javautilList;

import netsfjsonJSON;

import netsfjsonJSONArray;

import netsfjsonJSONObject;

import netsfjsonJSONSerializer;

import bazbeanPerson;

public class ParseJson {

private String jsonStr;

public ParseJson() {

}

public ParseJson(String str){

thisjsonStr = str;

}

/

解析json字符串

/

public void parse(){

JSONObject jsonObject = JSONObjectfromObject(jsonStr);

String name = jsonObjectgetString("name");

int num = jsonObjectgetInt("num");

String sex = jsonObjectgetString("sex");

int age = jsonObjectgetInt("age");

Systemoutprintln(name + " " + num + " " + sex + " " + age);

}

//将json字符串转换为java对象

public Person JSON2Object(){

//接收{}对象,此处接收数组对象会有异常

if(jsonStrindexOf("[") != -1){

jsonStr = jsonStrreplace("[", "");

}

if(jsonStrindexOf("]") != -1){

jsonStr = jsonStrreplace("]", "");

}

JSONObject obj = new JSONObject()fromObject(jsonStr);//将json字符串转换为json对象

Person jb = (Person)JSONObjecttoBean(obj,Personclass);//将建json对象转换为Person对象

return jb;//返回一个Person对象

}

}

[java] view plain copy

package bazbean;

public class Person {

private String name;

private int num;

private String sex;

private int age;

public Person() {

// TODO Auto-generated constructor stub

}

public Person(String name, int num, String sex, int age) {

super();

thisname = name;

thisnum = num;

thissex = sex;

thisage = age;

}

public String getName() {

return name;

}

public void setName(String name) {

thisname = name;

}

public int getNum() {

return num;

}

public void setNum(int num) {

thisnum = num;

}

public String getSex() {

return sex;

}

public void setSex(String sex) {

thissex = sex;

}

public int getAge() {

return age;

}

public void setAge(int age) {

thisage = age;

}

}

将java对象转换为json字符串

[java] view plain copy

package bazcons;

import netsfjsonJSONObject;

/

将java对象转换为json字符串

@author Administrator

/

public class ConsJson {

public ConsJson() {

// TODO Auto-generated constructor stub

}

public String Object2Json(Object obj){

JSONObject json = JSONObjectfromObject(obj);//将java对象转换为json对象

String str = jsontoString();//将json对象转换为字符串

return str;

}

}

测试类:

[java] view plain copy

package baztest;

import javautilList;

import bazbeanPerson;

import bazconsConsJson;

import bazparseParseJson;

public class Test {

public static void main(String[] args) {

//将字符串转换为json对象,然后根据建得到相应的值

ParseJson pj = new ParseJson("{\"name\":\"gu\",\"num\":123456,\"sex\":\"male\",\"age\":24}");

pjparse();

//将一个json字符串转换为java对象

Person p = pjJSON2Object();

Systemoutprintln("Name:" + pgetName());

Systemoutprintln("Num:" + pgetNum());

Systemoutprintln("Sex:" + pgetSex());

Systemoutprintln("age:" + pgetAge());

//将一个java对象转换为Json字符串

Person p1 = new Person("gu1",123,"male",23);

ConsJson cj = new ConsJson();

String str1 = cjObject2Json(p1);

Systemoutprintln(str1);

}

}

测试输出如下:

gu 123456 male 24

Name:gu

Num:123456

Sex:male

age:24

{"age":23,"name":"gu1","num":123,"sex":"male"}

以上就是关于JS解析json数据(如何将json字符串转化为数全部的内容,包括:JS解析json数据(如何将json字符串转化为数、如何把这样的json串转换成对象、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/web/10075717.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-05
下一篇2023-05-05

发表评论

登录后才能评论

评论列表(0条)

    保存