完全搞不懂你想做什么
首先,你的概念完全搞错了,这里跟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不能漏
一、使用js获取接口数据的方法①$get(url,[data],[callback])
url:请求的地址data:请求数据的列表callback:请求成功后的回调函数,该函数接受两个参数,第一个为服务器返回的数据,第二个为服务器的状态,是可选参数。
其中服务器返回数据的格式其实是字符串形式,并不是我们想要的JSON数据格式。上例子:
var url3 = 'http://mshop.gemstc.com/ApiService/msgget.php'
$.get(url3,function(data){
alert(data)
})
此时如果对data采用json解析数据,得到的值为undefined。所以我们使用这种get方法获取到的值要是JSON格式,需要定义获取的数据类型为json格式,上例子:
var url3 = 'http://mshop.gemstc.com/ApiService/msgget.php'
$.get(url3,function(data){
$('#result').append('
interval:'+data.name+'
')//此时返回的是JSON格式的内容,例:我们可以使用data.name获取到name字段的值并输出。
}, 'json')
②$post(url,[data],[callback],[type])
post方法中多了一个type:获取数据的类型格式,post其实和get是一样的用法,type不定义,返回的是字符串类型的,定义为json格式,返回的就是json格式的数据,此处可以仿照上面的get方法,把get改成post就搞定了,就不多说了。
var jsonstr="[{'name':'a','value':1},{'name':'b','value':2}]"var jsonarray = eval('('+jsonstr+')')
var arr =
{
"name" : $('#names').val(),
"value" : $('#values').val()
}
jsonarray.push(arr)
//2、
var json={}// 定义一个json对象
json.array1=["2","4"]// 增加一个新属性,此属性是数组
json.array1[json.array1.length]='6'// 数组追加一个元素
alert(json.array1)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)