我已经在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"},... ]
任何人都知道如何更新上述数据,我们将不胜感激。
答案 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);
}
});