Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/362.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_Jquery_Json - Fatal编程技术网

Javascript 如何通过单击按钮将对象添加到外部JSON文件?

Javascript 如何通过单击按钮将对象添加到外部JSON文件?,javascript,jquery,json,Javascript,Jquery,Json,晚安,程序员同事 向JSON文件添加对象时遇到问题。我正在使用jQuery。 我的javascript文件: $('addchallenge')。单击(函数() { //硬编码挑战 var addchallenge= { “AchieventName”:“我是一名希望被添加到列表中的成就”, “点数”:“50”, “评论”:“猜猜谁是一个令人讨厌的成就” } $.getJSON(“../json/package.json”),函数(数据) { $.each(data.allachiements

晚安,程序员同事

向JSON文件添加对象时遇到问题。我正在使用jQuery。 我的javascript文件:

$('addchallenge')。单击(函数()
{
//硬编码挑战
var addchallenge=
{
“AchieventName”:“我是一名希望被添加到列表中的成就”,
“点数”:“50”,
“评论”:“猜猜谁是一个令人讨厌的成就”
}
$.getJSON(“../json/package.json”),函数(数据)
{
$.each(data.allachiements,function()
{
//非常可疑的一行:
此[“成就列表”]。推送(添加挑战);
});
});

});您不能直接操作JSON文件-写入、删除等

但是,您可以编写一些后端代码来实现这一点


如果您只是想暂时添加一项成就,那么可以将JSON文件解析为一个变量,然后对其进行操作

您不能仅使用客户端代码修改JSON文件。您需要一些服务器端代码

我建议你使用

编辑: 事实上,我发现:


因此,当前帖子可能被认为是重复的…

您是否试图使用jquery写入文件?
如果是,请检查以下url:

您的问题是
这是上下文。在您传递给
$的回调内部。每个
迭代器,
这个
不是您认为的那样

每个(数组、回调)

回拨

类型:函数(String propertyName,Object valueOfProperty) 将在每个对象上执行的函数

我会这样更改您的
代码

$.getJSON("../json/package.json", function (data)
{
    $.each(data.allachievements, function (key, value)
    {
        value["achievementlist"] = value["achievementlist"] || [];
        value["achievementlist"].push(addchallenge);
    });
});