JavaScript操作JSON

JavaScript操作JSON的示例:

const json_txt = '{ "foo": "1", "bar": "2" }';
const data=eval("("+json_txt+")"); // 通过eval()函数将json字符串转换为js对象
console.log(data.foo); // 输出1

eval是一個能夠解析js代碼的函數。不過eval解析json存在安全隱患,存在被惡意注入腳本的風險。

现在大多数浏览器自带原生JSON对象,提供JSON.parse()方法解析JSON,提供JSON.stringify()方法生成JSON。 如果担心parse()对对象抛异常,可以加一个封装函数:

JSON.myParse = function( tar ) {
    if( typeof( tar ) === 'string' ) {
        return JSON.parse( tar );
    } else {
        return tar;
    }
};