js string与json int转换

小知识 09-01 21:13

一、js字符串string与整数int互相转换

js int转string

1、 var x=100; a=x.toString();
2、 var x=100; a=x+'';//JS会自动隐性转换

js string转int

parseInt()方法

parseInt("abc") // Returns NaN
parseInt("12abc") // Returns 12
parseInt("12") //Return 12

var s="32";
var i = new Number(s);

最后补充:若无特定格式要求建议使用parseFloat()

二、js字符串string与json格式互相转换

js string转json格式(JSON字符串转化为JSON对象)

1、eval方式解析,恐怕这是最早的解析方式了。记得别忘了str两旁的小括号。如下:

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

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

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

3、使用全局的JSON对象,使用JSON.parse需严格遵守JSON规范,如属性都需用引号引起来。如下:

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

var str = '{name:"jack"}';
var obj = JSON.parse(str); // --> parse error


4、使用jQuery进行转换

如果我们项目中有使用 jQuery,那么直接使用 $.parseJSON() 方法即可,而且可以确保各个浏览器的兼容性。
var jsonObj = $.parseJSON(jsonStr);

js json格式转json字符串

1、使用JSON.stringify()方法进行转换。该方法不支持较老版本的IE浏览器,比如:ie8(兼容模式)、ie7、ie6。

var jsonStr = JSON.stringify(jsonObj);
alert(jsonStr);


2、使用jQuery进行转换

var jsonStr = $.stringify(jsonObj);

3、json2.js进行转换

var jsonStr = JSON.stringify(jsonObj);

http://www.json.org/提供了一个json.js,这样ie8(兼容模式),ie7和ie6就可以支持JSON对象以及其stringify()和parse()方法;
可以在https://github.com/douglascrockford/JSON-js上获取到这个js