js中字符串转化成对象

JavaScript09

js中字符串转化成对象,第1张

使用eval()函数。可以讲json字符串转换为json对象。

var json1 = '{"aa":"a", "bb":"b", "length":2, "cc":"ll"}'

var data = eval('(' + json1 + ')') //转换字符串为json对象

alert(data.cc)//输出“ll”

函数说明:

eval() 函数可计算某个字符串,并执行其中的的 JavaScript 代码。

语法

eval(string) 

参数                描述

string    

   必需。要计算的字符串,其中含有要计算的 JavaScript 表达式或要执行的语句。    

返回值

通过计算 string 得到的值(如果有的话)。

说明

该方法只接受原始字符串作为参数,如果 string 参数不是原始字符串,那么该方法将不作任何改变地返回。因此请不要为 eval() 函数传递 String 对象来作为参数。

如果试图覆盖 eval 属性或把 eval() 方法赋予另一个属性,并通过该属性调用它,则 ECMAScript 实现允许抛出一个 EvalError 异常。

JS中如何把JSON格式的字符串转化为一个对象或数组呢?下面小编就为大家带来一篇js 转json格式的字符串为对象或数组(前后台)的方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

一、前台

// 转换成对象

var myObject = JSON.parse(_data)

alert("对象:"+myObject.msg)

// 转换成数组

var myobj = eval("["+_data+"]")

for (var i = 0i <myobj.lengthi++) {

alert("数组:"+myobj[i].msg)

}

//把json格式的字符串转成JSON对象

var json1 = '{"department": "中兵","address": "北京","contacts": "李硕","telphone": "15201274666","email": "[email protected]","fax": "0108596666"}'

var json2 = '{"department": "中兵2","address": "北京2","contacts": "李硕2","telphone": "152012746662","email": "[email protected]","fax": "01085966662"}'

var jsonObj = $.parseJSON(json1)或用eval方法

//把数组转成JSON对象

var arr=new Array()

arr.push(json1)

arr.push(json2)

var b=JSON.stringify(arr)

二、后台

当需要把一串字符串转成一个json 数组 ,并遍历其中的内容时。

首页导入 net.sf.json.JSONArray和net.sf.json.JSONObject 两个jar 包

String str = "[{name:'a',value:'aa'},{name:'b',value:'bb'},{name:'c',value:'cc'},{name:'d',value:'dd'}]" // 一个未转化的字符串

JSONArray json = JSONArray.fromObject(str )// 首先把字符串转成 JSONArray 对象

if(json.size()>0){

for(int i=0i<json.size()i++){

JSONObject job = json.getJSONObject(i)// 遍历 jsonarray 数组,把每一个对象转成 json 对象

System.out.println(job.get("name")+"=") // 得到 每个对象中的属性值

}

}

以上就是小编为大家带来的js 转json格式的字符串为对象或数组(前后台)的方法全部内容。