这里使用JSON.stringify()有什么区别?

时间:2012-08-12 16:05:11

标签: javascript jquery

pq的结果之间有以下区别,为什么你会这样做,哪种方式最好?

        var my = [
                {"a":"sdsds"},
                {"b":"sdsds"},
                {"c":"sdsds"},
                {"d":"sdsds"},
                {"e":"sdsds"}
        ];






        var p = JSON.stringify({ "myText": my };);
        var q = { "myText": JSON.stringify(my) };

3 个答案:

答案 0 :(得分:8)

p是一个包含以下内容的字符串:

'{"myText":[{"a":"sdsds"},{"b":"sdsds"},{"c":"sdsds"},{"d":"sdsds"},{"e":"sdsds"}]}'

q是一个对象:

{
    myText: '[{"a":"sdsds"},{"b":"sdsds"},{"c":"sdsds"},{"d":"sdsds"},{"e":"sdsds"}]'
}

他们不是一回事,所以我不能告诉你哪个是最好的。你想用它做什么?

答案 1 :(得分:3)

p是一个类似"{ \"mytext\": ... }"的字符串。

q是一个名为mytext的属性的对象。

答案 2 :(得分:3)

一个人创建一个JSON文本,该文本由一个具有属性'myText'的对象组成,其值是'my'包含的数据(即一个对象数组,每个对象都有一个属性/字符串对)。

另一个创建一个由属性'myText'组成的对象,其值是一个字符串,其中包含根据'my'中的数据构建的JSON文本。

  

你为什么要这样做?

前者通常是创建JSON时采用的方法。

如果您计划在data调用中将对象传递给jQuery的.ajax()属性,那么后者可能会有用。

  

哪个最好

都不是。他们完全不同。 “最佳”是适用于你将要对变量做什么的。