在javascript for javascript中存储数组

在javascript for javascript中存储数组,javascript,arrays,serialization,Javascript,Arrays,Serialization,我看过很多关于如何从javascript序列化数组以发送到PHP文件的文章,然后PHP文件将反序列化回数组,等等 我的javascript中有一个大的ish嵌套关联数组,我需要将其保存为字符串,稍后检索并转换回javascript中的字符串。没有其他程序会碰到这个。如果序列化数据是人类可读的,那么它可能很方便,但这绝对不是一项要求 有一个中间PHP文件,但只有4行长:它所做的只是将字符串保存到一个文件中,并在请求时将其发送回。我对用PHP解析数组不感兴趣 将javascript中的多嵌套关联数组

我看过很多关于如何从javascript序列化数组以发送到PHP文件的文章,然后PHP文件将反序列化回数组,等等

我的javascript中有一个大的ish嵌套关联数组,我需要将其保存为字符串,稍后检索并转换回javascript中的字符串。没有其他程序会碰到这个。如果序列化数据是人类可读的,那么它可能很方便,但这绝对不是一项要求

有一个中间PHP文件,但只有4行长:它所做的只是将字符串保存到一个文件中,并在请求时将其发送回。我对用PHP解析数组不感兴趣

将javascript中的多嵌套关联数组转换为字符串并再次转换的最快和最简单的方法是什么?

是javascript语言的一个子集,广泛用作javascript的序列化格式,并且越来越多地用于其他语言。它是人类可读的,除了大多数实现都删除了可选的空白,这使得它有点困难

现代浏览器具有现成的JSON支持,对于较旧的浏览器,您需要包括一个类似的库

要序列化,可以使用
JSON.stringify
方法

var myObject = {a: 2, b: 3, c: [1, 2, 3]};
var serialized = JSON.stringify(myObject);
// serialized == "{"a":2,"b":3,"c":[1,2,3]}"
var recovered = JSON.parse(serialized);
要取消序列化,可以使用
JSON.parse
方法

var myObject = {a: 2, b: 3, c: [1, 2, 3]};
var serialized = JSON.stringify(myObject);
// serialized == "{"a":2,"b":3,"c":[1,2,3]}"
var recovered = JSON.parse(serialized);


好吧,我已经构建了我的数组如下:
var data=new array();数据[“John”]=“John Smith”

啊,这是个问题。JavaScript
数组
并不意味着用作关联数组,而是指普通的零索引非关联数组。您可以将属性(键/值对)分配给任何JavaScript对象,这就是代码工作的原因,但您的对象是
数组的事实可能会导致问题。如果您只是创建一个
新对象()
,情况应该会更好。

是JavaScript语言的一个子集,广泛用作JavaScript的序列化格式,并且越来越多地用于其他语言。它是人类可读的,除了大多数实现都删除了可选的空白,这使得它有点困难

现代浏览器具有现成的JSON支持,对于较旧的浏览器,您需要包括一个类似的库

要序列化,可以使用
JSON.stringify
方法

var myObject = {a: 2, b: 3, c: [1, 2, 3]};
var serialized = JSON.stringify(myObject);
// serialized == "{"a":2,"b":3,"c":[1,2,3]}"
var recovered = JSON.parse(serialized);
要取消序列化,可以使用
JSON.parse
方法

var myObject = {a: 2, b: 3, c: [1, 2, 3]};
var serialized = JSON.stringify(myObject);
// serialized == "{"a":2,"b":3,"c":[1,2,3]}"
var recovered = JSON.parse(serialized);


好吧,我已经构建了我的数组如下:
var data=new array();数据[“John”]=“John Smith”


啊,这是个问题。JavaScript
数组
并不意味着用作关联数组,而是指普通的零索引非关联数组。您可以将属性(键/值对)分配给任何JavaScript对象,这就是代码工作的原因,但您的对象是
数组的事实可能会导致问题。如果您只是创建一个
新对象()
,情况应该会更好。

您需要将数组序列化为JSON:

serialized = JSON.stringify(myobject)
把它拿回来

myobject = JSON.parse(serialized)

您需要将数组序列化为JSON:

serialized = JSON.stringify(myobject)
把它拿回来

myobject = JSON.parse(serialized)

每个人都在Javascript方面对此进行了很好的解释,但在PHP方面是这样的:

<?php
  $arr = Array(1, 2, 3, 'a', 'b', 'c');  // an array in PHP

  echo json_encode($arr); // output the array as JSON: [1,2,3,'a','b','c']
?>

<?php
  $json = "[1,2,3,'a','b','c']"; // a JSON string to be parsed by PHP

  $arr = json_decode($json); // this is our original array in PHP again
?>


每个人都在Javascript方面对此进行了很好的解释,但在PHP方面是这样的:

<?php
  $arr = Array(1, 2, 3, 'a', 'b', 'c');  // an array in PHP

  echo json_encode($arr); // output the array as JSON: [1,2,3,'a','b','c']
?>

<?php
  $json = "[1,2,3,'a','b','c']"; // a JSON string to be parsed by PHP

  $arr = json_decode($json); // this is our original array in PHP again
?>


你研究过JSON吗?(另外,我假设“关联数组”的意思是“对象”?)好吧,我构建了我的数组,如:
var data=new array();数据[“John”]=“John Smith”等等。你研究过JSON吗?(另外,我假设“关联数组”的意思是“对象”?)好吧,我构建了我的数组,如:
var data=new array();数据[“John”]=“John Smith”
etc.JSON.stringify()返回
[null,null,
,null,[]]
,但是我绝对肯定我的数组已填充。谢谢。我正在重新编写代码(恶心),以使用对象而不是关联数组。我做了一个快速测试,JSON stringify可以很好地处理对象。只要只使用“普通”数字索引(包括数组文本,如
[“某物”、“某物”、“等]
),JSON.stringify()就可以很好地处理数组。返回
[null,null,
,null,[]
不过,我绝对肯定我的数组已填充。谢谢。我正在重新编写代码(糟糕),以使用对象而不是关联数组。我做了一个快速测试,JSON stringify可以完美地处理对象。只要您只使用“普通”数字索引,它也可以处理数组(其中包括数组文本,如
[“某物”、“某物”、“等]
)。