如何使用Javascript将json数据转储到json文件中?

时间:2016-07-27 11:10:41

标签: javascript jquery json

我的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);
});

1 个答案:

答案 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请求并写入文件。

希望它有所帮助。