0

是否可以使用 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
    }]"

}

4

3 回答 3

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\
      }]"
}

在此处输入图像描述

于 2012-04-13T14:56:16.623 回答
0

是的。但是,我认为没有理由这样做。它需要很多转义引号。它使解析变得困难,除此之外,它会使所有查看您的源代码的人感到困惑。

于 2012-04-13T14:53:30.527 回答
0

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

于 2012-04-13T14:54:32.987 回答