
<!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>','社旗县国税局桥头税务所','社旗县城郊乡长江路西段']]";
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串转换成对象、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)