无法更新存储在Myjson.com中的json

时间:2019-01-21 14:56:42

标签: android json

我已经在Myjson.com中存储了一个json,并且正在我的android应用中使用它。现在我想升级存储的数据,但是我无法做到这一点。我已经阅读了http://myjson.com/api中给出的示例以更新Json的示例是这样的:

$.ajax({
    url:"https://api.myjson.com/bins/:id",
    type:"PUT",
    data:'{"key_updated":"value_updated"}',
    contentType:"application/json; charset=utf-8",
    dataType:"json",
    success: function(data, textStatus, jqXHR){

    }
});     `

但无法弄清楚。我的json数据如下:

[{"id":"priceup","value":"0"},{"id":"appup","value":"0"},{"id":"nezam","value":"16000"},... ]

任何人都知道如何更新上述数据,我们将不胜感激。

1 个答案:

答案 0 :(得分:2)

创建新的JSON时,PUT方法在数据中返回新创建的资源的url。因此,您需要使用此url,而不是通用的 https://api.myjson.com/bins/:id

一个示例(jsfiddle here):

function updateJson(url) {
    var obj = [{"id":"priceup","value":"0"},{"id":"appup","value":"0"},{"id":"nezam","value":"16000"}];
    var data = JSON.stringify(obj);
    $.ajax({
        url:url,
        type:"PUT",
        data: data,
        contentType:"application/json; charset=utf-8",
        dataType:"json",
        success: function(data, textStatus, jqXHR){
            console.log(data); // now data contains the updated data
        }
    });
}

//
// create a new JSON....
//
$.ajax({
    url:"https://api.myjson.com/bins",
    type:"POST",
    data:'{"key":"value"}',
    contentType:"application/json; charset=utf-8",
    dataType:"json",
    success: function(data, textStatus, jqXHR){
        var url = data.uri; // data contains the url....
        updateJson(url);
    }
});