json字符串为json值

时间:2012-04-13 14:51:41

标签: javascript json

是否可以使用json字符串作为json的值?将有效的json字符串作为json元素的值传递,

我需要这样的样本:

{
"numberOfBlocks": 2,
"1": ""items": [
    {
        "Id": "111257",
        "Name": "AADbZyXqnVRCHjqWSpqQfgpu",
        "Order": 0
    },
    {
        "Id": "162972",
        "Name": "AADbZyXqnVRCHjqWSpqQfgpu",
        "Order": 1
    }]",
"2":""items": [
    {
        "Id": "111257",
        "Name": "AADbZyXqnVRCHjqWSpqQfgpu",
        "Order": 0
    },
    {
        "Id": "162972",
        "Name": "AADbZyXqnVRCHjqWSpqQfgpu",
        "Order": 1
    }]"

}

3 个答案:

答案 0 :(得分:1)

是的,这是一个简单的例子:

{
   "a": 3,
   "b": "{ \"c\": \"hello\" } "
}

或者更像你拥有的东西

{
  "numberOfBlocks": 2,
  "1": "{
    \"items\": [
      {
        \"Id\": \"111257\",
        \"Name\": \"AADbZyXqnVRCHjqWSpqQfgpu\",
        \"Order\": 0
      },
      {\
        \"Id\": \"162972\",
        \"Name\": \"AADbZyXqnVRCHjqWSpqQfgpu\",
        \"Order\": 1
      }]"
}

但是,并非文字换行符在JSON中无效,因此您也需要转义换行符。在JS中,它看起来像下面的

var a = {
  "numberOfBlocks": 2,
  "1": "{\
    \"items\": [\
      {\
        \"Id\": \"111257\",\
        \"Name\": \"AADbZyXqnVRCHjqWSpqQfgpu\",\
        \"Order\": 0\
      },\
      {\
        \"Id\": \"162972\",\
        \"Name\": \"AADbZyXqnVRCHjqWSpqQfgpu\",\
        \"Order\": 1\
      }]"
}

enter image description here

答案 1 :(得分:0)

是肯定的。但是,我认为没有理由这样做;它需要很多逃脱的报价。它会使解析变得困难,除此之外它会让所有看到你源头的人感到困惑。

答案 2 :(得分:0)

当然,您只需要将双引号转义为\",将换行符转换为\n。我不建议你这样做,但这当然是可能的。