如果我在JS中定义了一个对象:

var j={"name":"binchen"};

如何将对象转换为JSON?输出字符串应该是:

'{"name":"binchen"}'

当前回答

使用在json2.js中找到的JSON.stringify()或大多数现代浏览器中的本机。

JSON。Stringify (value, replace, space) value任何JavaScript值,通常是一个对象或数组。 替换一个可选参数,该参数决定对象的方式 对象的值是字符串化的。它可以是 函数或字符串数组。 空格指定缩进的可选参数 嵌套结构。如果省略它,文本将 打包时没有额外的空格。如果是数字, 它将指定每次缩进的空格数 的水平。如果它是一个字符串(如“\t”或“ ”), 它包含用于在每一层缩进的字符。

其他回答

如果你想获得json属性值的字符串格式使用以下方式

var i = {"x":1}

var j = JSON.stringify(i.x);

var k = JSON.stringify(i);

console.log(j);

"1"

console.log(k);

'{"x":1}'

JSON。stringify将Javascript对象转换为JSON文本,并将该JSON文本存储在字符串中。

该转换是对象到字符串的转换

JSON。parse将JSON文本字符串转换为Javascript对象。

该转换是一个字符串到对象的转换

var j={"name":"binchen"};

使它成为一个JSON字符串下面可以使用。

JSON.stringify({"key":"value"});

JSON.stringify({"name":"binchen"});

要了解更多信息,您可以参考下面的链接。

https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify

最流行的方式如下:

var obj ={名字:“马丁”,年龄:30岁,国家:“美国”}; //将JS对象转换为JSON字符串 var json = json .stringify(obj); console.log (json);

现有的JSON替换对我来说太多了,所以我写了自己的函数。这似乎是可行的,但我可能错过了一些边缘情况(在我的项目中不会出现)。并且可能不适用于任何已存在的对象,只适用于自制数据。

function simpleJSONstringify (obj) {
    var prop, str, val,
        isArray = obj instanceof Array;

    if (typeof obj !== "object")
        return false;

    str = isArray ? "[" : "{";

    function quote (str) {
        if (typeof str !== "string")
            str = str.toString ();

        // When the actual variable was a number, it was returning a number between quotation marks
        // return str.match(/^\".*\"$/) ? str : '"' + str.replace(/"/g, '\\"') + '"';

        // Now, we are verifing if is a number and, if it is, we remove the quotation marks
        str = str.match (/^\".*\"$/) ? str : '"' + str.replace (/"/g, '\\"') + '"';

        if (isNaN (str.replace (/^["]/, '').replace (/["]$/, '')))
            return str;
        else
            return str.replace (/^["]/, '').replace (/["]$/, '');
    }

    for (prop in obj) {
        if (!isArray) {
            // quote property
            str += quote (prop) + ": ";
        }

        // quote value
        val = obj [prop];
        str += typeof val === "object" ? simpleJSONstringify (val) : quote (val);
        str += ", ";
    }

    // Remove last colon, close bracket
    str = str.substr (0, str.length - 2) + ( isArray ? "]" : "}" );

    return str;
}
So in order to convert a js object to JSON String: 

将对象转换为字符串的简单语法是

JSON.stringify(value)

完整的语法是: JSON。Stringify (value[, replace [, space]])

让我们看一些简单的例子。注意,整个字符串得到 双引号,字符串中的所有数据都会转义 需要的。

JSON.stringify("foo bar"); // ""foo bar""
JSON.stringify(["foo", "bar"]); // "["foo","bar"]"
JSON.stringify({}); // '{}'
JSON.stringify({'foo':true, 'baz':false}); /* " 
{"foo":true,"baz":false}" */



const obj = { "property1":"value1", "property2":"value2"};
const JSON_response = JSON.stringify(obj);
console.log(JSON_response);/*"{ "property1":"value1", 
"property2":"value2"}"*/