Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/379.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在JSON中给出指针?_Javascript_Json - Fatal编程技术网

Javascript 如何在JSON中给出指针?

Javascript 如何在JSON中给出指针?,javascript,json,Javascript,Json,我有一个json对象和一个数组,如下所示: a = [{"id":1,"content":"aaa"},{"id":2,"content":"bbb"}]; b = ["a.jpg","b.jpg"]; 现在我想再创建一个json对象,它指向这个json和数组, 比如: c = [{groupId:1, "group":[{"aId":pointer to a json,"bId":pointer to b array },{"aId":pointer

我有一个json对象和一个数组,如下所示:

a = [{"id":1,"content":"aaa"},{"id":2,"content":"bbb"}];
b = ["a.jpg","b.jpg"];
现在我想再创建一个json对象,它指向这个json和数组, 比如:

c = [{groupId:1,
      "group":[{"aId":pointer to a json,"bId":pointer to b array
              },{"aId":pointer to a json,"bId":pointer to b array
              }]
    }];
在javascript中有可能吗?

您不能这样做(在符号中有指针或引用)

您可以定义自己的约定,例如,像
{“refId”:1}
这样的JSON对象对您的应用程序意味着是指向使用JSON
“id”:1解码的对象的“指针”,但您必须为此进行编码


FWIW,这个符号有引用(和)

理论上这是可能的,但是一旦你把json发送到另一台机器上,指针就无效了

您有两种可能解决此问题:

  • 将数组和json嵌套在原始json中

  • 通过某种ID引用数组和json 这种方法在发送端和接收端都需要做更多的工作,但是 减少json使用的空间量

  • 有一个提议的标准,它在JSON结构中引入了指针的概念

    以下是一个来自RFC的示例:

    例如,给定JSON文档

    {
      "foo": ["bar", "baz"],
      "": 0,
      "a/b": 1,
      "c%d": 2,
      "e^f": 3,
      "g|h": 4,
      "i\\j": 5,
      "k\"l": 6,
      " ": 7,
      "m~n": 8    }
    
    以下JSON字符串计算为附带的值:

    ""           // the whole document
    "/foo"       ["bar", "baz"]
    "/foo/0"     "bar"
    "/"          0
    "/a~1b"      1
    "/c%d"       2
    "/e^f"       3
    "/g|h"       4
    "/i\\j"      5
    "/k\"l"      6
    "/ "         7
    "/m~0n"      8
    

    还有一些软件包支持这种RFC,比如。

    你真的在谈论JSON(对象的字符串编码版本)还是JS对象?在第一种情况下这是不可能的,在第二种情况下这很容易。在我看来,你有两个数组。一个数组包含两个对象,另一个数组包含两个字符串。