js字符串转换为json格式的问题

JavaScript023

js字符串转换为json格式的问题,第1张

错误原因:

前面你能成功取值是因为a是一个javascript对象而不是纯粹的字符串,所以可以用obj.attr的方式读取数值,

后面你用ajax获取的相似格式字符串的实际为JSON格式的字符串,所以用对象方法读值失败。

解决思路:

将JSON文本转换为JavaScript 对象后再用obj.attr的方式读值。

JSON 文本格式在语法上与创建 JavaScript 对象的代码相同。

由于这种相似性,无需解析器,JavaScript 程序能够使用内建的 eval() 函数,用 JSON 数据来生成原生的 JavaScript 对象。

具体方法:

假设用ajax获取的json文本存于变量jsonText中

var a = eval("(" + jsonText + ")")

相关资料:

http://www.w3school.com.cn/json/json_eval.asp

1、按照描述,题主是想将多条数据记录提交到服务端,同时服务端将数据插入到数据库。那么思路是将多条数据存在数组中,调用post方法的接口传入后端。

2、方法如下:

var sendData = []

sendData.push({name:'david',age:'20'})

sendData.push({name:'peter',age:'23'})

3、传递数据给服务端,一般使用post方法调用接口,使用jquery,代码如下:

$.post("接口路径",sendData,function(result){

console.log(result,'发送结果')

})

扩展资料:

1、json与字符串互相转换:

JSON.parse('{"name":"karla"}')//将字符串转换为json

JSON.stringify({name:'karla'})//将json转化为字符串

2、jquery中post与get的区别:

1) $.get() 方法使用GET方法来进行异步请求的。$.post() 方法使用POST方法来 进行异步请求的。

2)get请求会将参数跟在URL后进行传递,而POST请求则是作为HTTP消息的实体     内容发送给Web服务器的,这种传递是对用户不可见的。

3) get方式传输的数据大小不能超过2KB 而POST要大的多。

4)GET 方式请求的数据会被浏览器缓存起来,因此有安全问题。

参考资料:百度百科-json