完全搞不懂你想做什么
首先,你的概念完全搞错了,这里跟JSON没有任何关系,你定义的这个data变量,是使用字面量表示法定义了一个对象,并且赋予了一些属性。这个过程和结果跟JSON没有任何关系。JSON只是一种文本格式,你这里并没有用到,基础概念要搞清楚。
其次,你这里定义的data并没有text这个属性,所以你data.text当然不会访问到任何数据
如果你的想法是,获取#text中的值,以其作为键,输出data对象中的值,那样该这么做
var text=document.getElementById("text").value
var datas=data[text];用[]可以使用变量字面量
2. js里怎么把对象转化为json数据
语法:JSON.striny(value [, replacer] [, space])value:是必须要的字段。
就是输入的对象,比如数组了、类了等等。replacer:这个是可选的。
它又分为2种方式,一种是方法,第二种是数组。var student = new Object()student.name = "Lanny"student.age = "25"student.location = "China"var json = JSON.striny(student)alert(student)。
3. js中如何 *** 作json数据
一、要想熟练的 *** 作json数据,就先要了解json数据的结构,json有两种结构:对象和数组。
1、对象
一个对象以“{”开始,“}”结束。每个“名称”后跟一个“:”;“‘名称/值’
对”之间使用“,”分隔。 名称用引号括起来;值如果是字符串则必须用括号,数值型则不需要。例如:
var jsonObj=
二、JSON(JavaScript Object Notation)
是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,是理想的数据交换格式。json在传输过程中是以文本形式存在的,即字符串的形式。而在JS
中需要 *** 作的是对象,所以需要把json转换成对象,一般用“eval_r()”函数来实现,例如:varobj = eval_r('(' + json+ ')'); 这样就可以随意 *** 作json了。
for(var i=0i
alert("key:"+key+",value:"+jsonList[i][key]);} }用这种方法就可以解析json数据了。
4. 怎样将json格式的数据放到js中
如果数据是固定的有两种方法
1.把json数据定义为一个变量
var json = {"a":1,"b",2}
这样可以直接调用,数据太多可以放到一个额外的 js 文件上2.数据写在一个文件上,命名为a.json
$.getJson(url,funciton(rs){
url是文件路径,例如 ../json/a.json
rs就是返回的json数据了
})
如果数据是后台传过来的
$.post(url,data,function(rs){
url是后台controller的方法的路径
data 是传到后台的json格式的参数,可选
rs是返回的数据
},"json");最后这个json不能漏
JSON(JavaScriptObject
Notation
)是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,JSON是JavaScript原生数据格式。
下面给大家介绍js数组添加json数据的两种方式。
//
第一种方式
personInfo
:
[],
for(var
i
=
0
i
<
_STAGE.passengerInfoArray.length
i++){
var
name
=
_STAGE.passengerInfoArray[i]
var
person
=
{v:name,
text:name}
this.personInfo.push(person)
}
//
第二种方式
var
passengerInfo
=
{}
passengerInfo.psgTypeDesc
=
psgTypeDesc
passengerInfo.flightPrice
=
flightPrice
_STAGE.passengerInfoArray.push(passengerInfo)
js数组与
json
的区别
一,数组
1.
定义一维数组:var
s1=new
Array()
s1=[1,2,3,4]或者s1[0]=1,s1[1]=2,s1[3]=3,s1[4]=4
alert(s1[0])
结果为1;
2,,定义二维素组:var
s1=new
Array()
var
s1=[[3,1],[2,3,4],3,[4,5,6,7,8]]
alert(s1[1][0])
结果为2;
二,定义json对象
1,json对象
var
status_process
=
{
"
name5"
:
'闲置期',
"name1"
:
'播种期',
"name2"
:
'苗期',
"name3"
:
'生长期',
"name4"
:
'采收期'
}
alert(status_process)
结果为:Object:Object
2,json字符串
所谓json字符串,是指该字符串变量的值与json的格式相同,但是不是json对象,比如:
var
s1="{"
var
s2
=
"
'name5'
:
'闲置期',
'name1'
:
'播种期','name2'
:
'苗期','name3'
:
'生长期','name4'
:
'采收期'"
var
s3="}"
var
status_process=s1+s2
+s3;
虽然status_process的值符合json对象的格式,但是它不是对象,只是一个字符串(是拼凑出来的);
将字符串转换为json对象使用函数eval,eval("("
+
status_process+
")");
结论:从后台传入到前台的是json字符串,不是真正的json对象,因此需要使用eval函数转换。
3,json对象的使用
var
status_process
=
{
name5
:
'闲置期',
name1
:
'播种期',
name2
:
'苗期',
name3
:
'生长期',
name4
:
'采收期'
}
alert(status_process["name5"])
alert(status_process.name5)
两个都为:闲置期
4,json二维对象
var
status_process
=
{
name5
:
{name3:'空闲闲置期'},
name1
:
'播种期',
name2
:
'苗期',
name3
:
'生长期',
name4
:
'采收期'
}
alert(status_process["name5"]["name3"])
alert(status_process.name5.name3)
结果都为:'空闲闲置期'
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)