在这一点上,我对什么是对象、什么是数组以及什么是 JSON 有点困惑。有人可以解释两者之间的语法差异吗?以及如何向每个项目添加项目,如何合并每种类型,等等?我试图让这个函数从 JSON 对象(我认为)中获取新信息并将其与一些新信息合并。然后,此信息将传递给 PHP 脚本进行处理。
这是控制台输出:
{"public":{"0":["el29t7","3bmGDy"]}}
{"public":"[object Object][object Object]"}
这是我正在使用的 JS:
/* Helper function to clean up any current data we have stored */
function insertSerializedData(ids, type) {
// Get anything in the current field
current_data = $('#changes').val();
if (!current_data) {
var data = {};
data[index++] = ids;
var final_data = {};
final_data[type] = data;
$('#changes').val(JSON.stringify(final_data));
} else {
current_data = JSON.parse(current_data);
var data = {};
data[index++] = ids;
// Does the index exist?
if (type in current_data) {
var temp_data = current_data[type];
current_data[type] = temp_data + data;
} else {
current_data[type] = data;
}
//var extra_data = {};
//extra_data[type] = data;
//$.merge(current_data, extra_data);
$('#changes').val(JSON.stringify(current_data));
}
console.log($('#changes').val());
}
这个想法是,如果密钥(公共的或其他任何密钥)尚不存在,则使其指向数组数组。如果确实存在,则需要将数组数组与新数组合并。例如:
如果我有
{"public":{"0":["el29t7","3bmGDy"]}}
我想将它与
["aj19vA", "jO71Ba"]
那么最终结果将是:
{"public":{"0":["el29t7","3bmGDy"], "1":["aj19vA", "jO71Ba"]}}
我该怎么做呢?谢谢