我的data.json文件中有未格式化的数据。我用javascript格式化了它。现在我必须将格式化数据转储到newData.json文件中。但我无法找到正确的代码。请建议如何将json数据转储到newData.json文件中。
$.getJSON( "movie.json", function( data ) {
var result = {
Win: {},
Nominated: {}
};
data.forEach( obj => {
var stats = result[obj.WinType][obj.Nominee] = result[obj.WinType][obj.Nominee] || {
count: 0,
rating: 0,
0: 0,
name: obj.Nominee
};
stats.rating += obj.RATING;
stats.count++;
stats[0] += obj.WinProbability * 100;
});
Object.keys(result).forEach( grp =>
result[grp] = Object.keys(result[grp]).map( name => {
var stats = result[grp][name];
stats[0] /= 100;
stats[1] = Math.round(stats.rating * 100 / stats.count) / 100;
delete stats.count;
delete stats.rating;
return stats;
})
);
console.log(result);
});
答案 0 :(得分:1)
假设您将新数据放入results
变量中。
您可以将结果写入新文件并下载。但是您无法将数据写入服务器上的文件。如果你需要将数据写入服务器,那么你将不得不创建一个api来获取服务器上的数据,然后将其写入一个新文件,然后可以从浏览器访问,就像文件'movie上传.json'
方法1:
var result = {'your new data'}
var url = 'data:text/json;charset=utf8,' + encodeURIComponent(result);
window.open(url, '_blank');
这将允许您使用新数据下载文件。
方法2:
您在服务器上编写了一个API,它需要JSON数据,该数据将写入公共目录中的文件,以便在客户端上可用。
$.ajax({
type: "POST",
url: '/api/new_data',
data: result,
success: function(){console.log('success')}
});
这是一个如何完成它的例子。您必须编写自己的api才能接受POST请求并写入文件。
希望它有所帮助。