㈠ js解析json数据并将json字符串转化为数组的实现方法
在JavaScript中,解析JSON数据并将其转化为数组的操作非常直观,主要借助于`eval()`函数。例如,对于一个包含嵌套对象和数组的JSON字符串`t`,我们可以通过以下步骤进行处理:
这段代码首先定义了一个包含复杂结构的JSON字符串,然后使用`eval()`函数将其转化为JavaScript对象。接着,通过循环遍历数组,我们可以访问和操作其中的每个元素。值得注意的是,`eval()`函数在处理JSON时可能存在安全风险,推荐使用专门的JSON解析器进行处理,以避免恶意代码执行。
㈡ js怎么把json字符串转换成对象数组
第一种
JSON.parse(jsonString)
第二种
eval("("+jsonString+")")
第三种
var obj=(function ToJSON(o){
if(typeof(o)=="string")try{return new Function("return "+o)();}catch(e){return null;}
})("[{name:'zhangsan',age:'24'},{name:'lisi',age:'30'},{name:'wangwu',age:'16'},{name:'tianqi',age:'7'}]");
for(var b in obj)alert(obj[b].name);
㈢ JS中如何把JSON格式的字符串转化为一个对象或数组呢
通常都是用eval()函数来进行转换的,例如:var
sJson
=
'{a:
1}';var
o
=
eval('('
+
sJson
+
')');alert(o.a);如果是数组的话,也是类似的,在字符串两边专各加上一个小属括号,然后用eval()函数将其转换为数组,再赋值给某个变量,就可以直接使用了。
㈣ 前台js 取json 对象数组数据
1、先定义一个json变量。
㈤ js将字符串转换成对象和数组
可以这样转换(兼容性较好的做法):
varmsg='{A:[{name:"阿克苏",spell:"akesu"}]}';//字符串类型的JSON数据
varjson=null;
try{
json=(newFunction('return'+msg))();
}catch(e){
//如果JSON数据格式有错误,进行错误处理
console.log('数据错误');
}
---------
利用现代浏览器的特性的另一种做法是:
varmsg='{A:[{name:"阿克苏",spell:"akesu"}]}';//字符串类型的JSON数据
varjson=JSON.parse(msg);//直接利用JSON对象进行解析
缺点就是某些浏览器不一定支持
---------
反过来,如果要将对象转换成字符串,可以这样做,见下面代码(适用于现代浏览器,几十年前的IE6什么的运行不起来):
varjsons={A:[{name:"阿克苏",spell:"akesu"}]};//JS对象
varstr=JSON.stringify(jsons);//转化对象为字符串
console.log(str);//测试-输出字符串
㈥ JS解析json数据(怎么将json字符串转化为数组)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 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(jsonobj.firstName);
alert(jsonobj.lastName);
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<myobj.length;i++){
alert(myobj[i].name);
alert(myobj[i].age);
}
var t3="[['<a href=# onclick=openLink(14113295100,社旗县国税局桥头税务所,14113295100,,swjg_dm);>14113295100</a>','社旗县国税局桥头税务所','社旗县城郊乡长江路西段']]";
//通过eval() 函数可以将JSON字符串转化为对象
var obj = eval(t3);
for(var i=0;i<obj.length;i++){
for(var j=0;j<obj[i].length;j++){
alert(obj[i][j]);
}
}
/*
//stringifier 函数的作用跟 parse 相反, 用来将一个js对象转换为 JSON 文本。
var jsonText = JSON.stringify(obj);
alert(jsonText);
//如果基于安全的考虑的话,最好是使用一个 JSON 解析器。 一个 JSON 解析器将只接受 JSON 文本。所以是更安全的。
var myObject = JSON.parse(myJSONtext, filter);
//可选的 filter 参数将遍历每一个value key 值对, 并进行相关的处理。如:
//如
myData = JSON.parse(text, function (key, value) {
return key.indexOf('date') >= 0 ? new Date(value) : value; });
//stringifier 函数的作用跟 parse 相反, 用来将一个js对象转换为 JSON 文本。
var myJSONText = JSON.stringifier(myObject);
*/
</SCRIPT>
</HEAD>
<BODY>
</BODY>
</HTML>