当前位置:首页>开发>正文

ajax怎么将字符串转化为json 用jquery eval() 方法把字符串转换为json .

2023-07-04 19:27:41 互联网 未知 开发

 ajax怎么将字符串转化为json 用jquery eval() 方法把字符串转换为json .

ajax怎么将字符串转化为json

采用Ajax的项目开发过程中,经常需要将JSON格式的字符串返回到前端,前端解析成JS对象(JSON )。
ECMA-262(E3) 中没有将JSON概念写到标准中,但在 ECMA-262(E5) 中JSON的概念被正式引入了,包括全局的JSON对象和Date的toJSON方法。

1,eval方式解析,恐怕这是最早的解析方式了。

function strToJson(str){
var json = eval(( str ))
return json
}

记得str两旁的小括号哦。

2,new Function形式,比较怪异哦。

function strToJson(str){
var json = (new Function("return " str))()
return json
}

IE6/7中当字符串中含有换行( )时,new Function不能解析,但eval却可以。

3,使用全局的JSON对象。

function strToJson(str){
return JSON.parse(str)
}

用jquery eval() 方法把字符串转换为json .

eval函数语法
eval(codes)
codes -- 字符串形式的表达式或语句
eval函数返回值
如果没有参数,返回undefined
如果有返回值将返回此值,否则返回undefined
如果为表达式,返回表达式的值
如果为语句返回语句的值
如果为多条语句或表达式返回最后一条语句的值
在使用eval转化字符串为json时,必须要注意,字符串必须可以转化成json对象,否则不能转换,举例如下

varstr = " {  name  :  value }"
varobj = eval(( str ))

怎么将字符串转换成json字符串

字符串转换成JSON的三种方式
采用Ajax的项目开发过程中,经常需要将JSON格式的字符串返回到前端,前端解析成JS对象(JSON )。
ECMA-262(E3) 中没有将JSON概念写到标准中,但在 ECMA-262(E5) 中JSON的概念被正式引入了,包括全局的JSON对象和Date的toJSON方法。

1,eval方式解析,恐怕这是最早的解析方式了。
function strToJson(str){
var json = eval(( str ))
return json
}

记得str两旁的小括号哦。

2,new Function形式,比较怪异哦。

function strToJson(str){
var json = (new Function("return " str))()
return json
}

IE6/7中当字符串中含有换行( )时,new Function不能解析,但eval却可以。

3,使用全局的JSON对象。
function strToJson(str){
return JSON.parse(str)
}

目前IE8(S)/Firefox3.5 /Chrome4/Safari4/Opera10 已实现了该方法。

使用JSON.parse需严格遵守JSON规范,如属性都需用引号引起来,如下
var str = {name:"jack"}
var obj = JSON.parse(str) // --> parse error

name没有用引号引起来,使用JSON.parse所有浏览器中均抛异常,解析失败。而前两种方式则没问题。

jquery怎么把字符串转换成json字符串

jQuery提供了很简单的方法:

var jsonStr = {"a": 1, "b": "string", "c": [1, "11"]}

console.log(typeof(jsonStr)) // string
var json = $.parseJSON(jsonStr)
console.log(typeof(json)) // object
console.log(json.c) // [1, "11"]

怎么将ajax的post请求的数据变为json对象



可以自己用JSON.parse解析,也可以指定返回类型为JSON
//自己解析
$.post(url, function(res) {
    //这个JSON似乎有些浏览器没有,为了保证兼容性可能还得包含一个json2.js才行:
    //详见https://github.com/douglascrockford/JSON-js
    var resJson = JSON.parse(res)
})

//指定返回类型为JSON
$.post(url, function(res) {
    //res直接就是解析好的json对象啦
}, JSON)

//ajax方式
$.ajax({
    url: xxx,
    dataType: JSON,
    success: function(res) {
        //res直接就是解析好的json对象啦!
    }
})

jQuery 中 字符串转成 Json 格式

jQuery中使用jQuery.parseJSON()方法将字符串转为json格式
例如:

jQuery.parseJSON({"test":1})注意:
传入格式有误的 JSON 字符串可能导致抛出异常。例如,下面这些无效的 JSON 字符串:
{test: 1} //(test 没有使用双引号包裹).
{test: 1} //(test 用了单引号而不是双引号包裹).
"{test: 1}" //(test 没有使用双引号包裹).
"{test: 1}" //(test 用了单引号而不是双引号包裹).
"test" //(test 用单引号代替双引号).
".1" //(number 必须以数字开头 "0.1" 将是有效的).
"undefined"// (undefined 不能表示一个 JSON 字符串 然而null,可以).
"NaN" //(NaN 不能表示一个 JSON 字符串 用Infinity直接表示无限也是不允许的).扩展:
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于ECMAScript的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C、C 、C#、Java、JavaScript、Perl、Python等)。这些特性使JSON成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成(网络传输速率)。

如何将字符串装换成json格式

引入jar包 json-lib-2.JSONObject jsonObject = JSONObject.fromObject("json格式的字符串")

String jsonStr = "{id:2}"JSONObject jsonObject = JSONObject.fromObject(jsonStr)int id = jsonObject.getInt("id")

最新文章