然后使用以下两种方法之一把json转为object使用
<script>
var b = '{"t": 0, "b": "adfjierg"}'
try{
var a = (new Function('return' + b))()
document.write(typeof(a))
}catch(e){
document.write('error')
}
var c=eval('('+b+')')
document.write(typeof(c))
</script>
之前我已经有讲过后台返回json数据到前台,并在前台遍历json数据。这里讲下直接在JS里创建JSON数据,然后遍历使用~
创建代码如下:(创建的是JSON对象)
?
12345678
var YearSelect = {}var Year = 2014var DateOptionfor (var i = Yeari <Year + 12i++) { DateOption = {'Year':i, 'Month':i-Year+1}/ alert(DateOption.Year) YearSelect[i] = DateOption}
这里是创建一个JSON对象,包括了年份和月份的数据。
我为什么创建JSON对象,是因为我对JSON对象比较熟悉。php后台返回的也是json对象。
json对象没有length属性~~
所以遍历的话要:
for(var key in YearSelect){ alert(YearSelect[key].Year)alert(YearSelect[key].Month)}
这样就可以了~
记住一定要分辨好json的对象和数组~不然就一直是undenfined
比如现在有一个json对象为jsonObj,需要给这个对象添加新的属性newParam,同时给newParam赋值为pre。做法如下:
var jsonObj={
'param1':22,
'param2' :33
}
jsonObj. newParam ='pre'
新的属性添加以后,json对象变成:
var jsonObj={
'param1':22,
'param2' :33,
'newParam':'pre'
}
扩展资料:
json数据格式:主要由对象 { } 和数组 [ ] 组成:
其中对象包括键值对(属性:属性值){key: value},value 可为 str,num,list,obj。取值使用 objcet.key。
{key: value, key2:value2,} 键:值用冒号分开,对间用,连接。
数组包含元素:num,str,list,objcet 都可以,利用索引访问 [index],用 . 连接各个值。