怎样将json格式的数据放到js中

怎样将json格式的数据放到js中,第1张

如果数据是固定的有两种方法

1.把json数据定义为一个变量

1

2

var json = {"a":1,"b",2}

//这样可以直接调用,数据太多可以放到一个额外的 js 文件上

2.数据写在一个文件上,命名为a.json

1

2

3

4

$.getJson(url,funciton(rs){

//url是文件路径,例如 ../json/a.json

//rs就是返回的json数据了

})

如果数据是后台传过来的

1

2

3

4

5

$.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就搞定了,就不多说了。

函数不需要 return,因为 json 对象会被函数直接修改。

var str1 = {"name": "apple", "sex": "21"}

// 参数:prop = 属性,val = 值

function createJson(prop, val) {

// 如果 val 被忽略

if(typeof val === "undefined") {

// 删除属性

delete str1[prop]

}

else {

// 添加 或 修改

str1[prop] = val

}

}

下面为测试

// 无改动,输出 Object {name="apple", sex="21"}

console.log(str1)

// 添加属性 color,值为 red

createJson("color", "red")

// 输出 Object {name="apple", sex="21", color="red"}

console.log(str1)

// 修改属性 name 的值为 banana

createJson("name", "banana")

// 输出 Object {name="banana", sex="21", color="red"}

console.log(str1)

// 删除属性 sex

createJson("sex")

// 输出 Object {name="banana", color="red"}

console.log(str1)

函数应该有三个参数的,第一个为 json 对象,但应你要求,只写了两个,所以函数只能用于修改 str1。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11686997.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-17
下一篇2023-05-17

发表评论

登录后才能评论

评论列表(0条)

    保存