Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/447.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如何将键值对数组积垢成字符串_Javascript_Arrays_Crud_Key Value - Fatal编程技术网

javascript如何将键值对数组积垢成字符串

javascript如何将键值对数组积垢成字符串,javascript,arrays,crud,key-value,Javascript,Arrays,Crud,Key Value,我需要在如下字段中存储键值数组: <input type="text" id="test" >{key1="a"}{key2="b"}</input> {key1=“a”}{key2=“b”} 如何读取和更新它?您的输入标记无效;它需要自动关闭 也就是说,我会将数据存储为带有JSON的data-*属性: <input data-val='{ "key1": "a", "key2": "b"}' type="text" id="test" /> 这不是有效

我需要在如下字段中存储键值数组:

<input type="text" id="test" >{key1="a"}{key2="b"}</input>
{key1=“a”}{key2=“b”}

如何读取和更新它?

您的输入标记无效;它需要自动关闭

也就是说,我会将数据存储为带有JSON的data-*属性:

<input data-val='{ "key1": "a", "key2": "b"}' type="text" id="test" />

这不是有效的JSON。JSON必须使用双引号,而不是单引号。@Barmar-ha-我不知道。感谢双引号是有意义的,因为值可能包含
var inp = document.getElementById('test');
var obj = JSON.parse(inp.getAttribute('data-val'));

console.log(obj);

obj.key1 = "updated";
obj.key3 = "foo";

inp.setAttribute('data-val', JSON.stringify(obj));

console.log("updated", inp.getAttribute('data-val'));