gpt4 book ai didi

javascript - 将新的 JSON 数据保存到新的 json 文件

转载 作者:行者123 更新时间:2023-12-03 02:42:26 25 4
gpt4 key购买 nike

首先,我是一个 js 菜鸟,所以感谢您的帮助。

我正在使用 randomuser.me api 创建用户列表。但是,它只给我小写的名称。所以我使用这个脚本(在其他人的帮助下)将名称大写。现在我想获取新数据并创建一个 json 文件。根据我的阅读,我需要使用node.js,但不知道如何正确运行它。我已经完成 npm install 并安装了这个模块:https://github.com/jprichardson/node-jsonfile

我还使用 firebase 将数据放入数据库并托管它。

//init firebasejs
var config = {
apiKey: "AIzaSyD0F_1-ynUdzpEkQADrs6BbXUInFCkpBdM",
authDomain: "random-users.firebaseapp.com",
databaseURL: "https://random-users.firebaseio.com",
projectId: "random-users",
storageBucket: "random-users.appspot.com",
messagingSenderId: "675456550116"
};
firebase.initializeApp(config);

var database = firebase.database();

var fs = require('fs');

var jsonfile = require('jsonfile')
var file = '/tmp/data.json'

//fuunction to capitalize strings
function capitalize(text) {
return (!text || !text.length) ?
text :
(text[0].toUpperCase() + text.slice(1));
}


$.get("https://randomuser.me/api/ results=20&nat=us&inc=name,gender,picture&format=pretty",
function(data) {
if (!data || !data.results)
return;

//going through 'data' and capitalizing name and gender
data.results.forEach(function(user) {
if (user.name) {
for (var name in user.name) {
user.name[name] = capitalize(user.name[name]);
}
}
if (user.gender) {
user.gender = capitalize(user.gender);
}
});

console.log(data);

//write new data to firebase
database.ref().set(data);

//write json file?
var result = JSON.stringify(data, null, 4);
$('#randomUsers').html(result);

jsonfile.writeFile(file, data, {spaces: 2}, function(err) {
console.error(err)
})


// var fs = require("fs");
// fs.writeFile("randomUsers.json", result, function(err) {
// if (err) {
// return console.log(err);
// } else {
// console.log("The file was saved!");
// }
// });

});

你们 js 向导能给我指出正确的方向吗?谢谢!

最佳答案

如果您只是想测试自己的数据,使用适用于 Chrome 的 consolesave.js 可以节省您大量时间。当我最初设置项目并测试通过 ajax 检索然后解析和重写的数据时,这个小脚本可让您直接从 Chrome 编写 JSON(到您的下载文件夹)。我不确定从哪里得到这个文件,但一个来源是这个 github 存储库。 https://github.com/bgrins/devtools-snippets/blob/master/snippets/console-save/console-save.js

function capitalize(text) {
return (!text || !text.length) ?
text :
(text[0].toUpperCase() + text.slice(1));
}



(function(console){

console.save = function(data, filename){

console.log('data is '+data);
if(!data) {
console.error('Console.save: No data')
return;
}

if(!filename) filename = 'console'

if(typeof data === "object"){
data = JSON.stringify(data, undefined, 4)
}

var blob = new Blob([data], {type: 'text/json'}),
e = document.createEvent('MouseEvents'),
a = document.createElement('a')

a.download = filename+ '.json'
a.href = window.URL.createObjectURL(blob)
a.dataset.downloadurl = ['text/json', a.download, a.href].join(':')
e.initMouseEvent('click', true, false, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null)
a.dispatchEvent(e)
}
})(console)

$.ajax({
url: 'https://randomuser.me/api/?results=20&nat=us&inc=name,gender,picture&format=pretty',
type : 'GET',
dataType:'json',
success : function(data) {
if (!data || !data.results) {
console.log('no data');
return
}
console.log('got your data')
//going through 'data' and capitalizing name and gender
data.results.forEach(function(user) {
if (user.name) {
for (var name in user.name) {
user.name[name] = capitalize(user.name[name]);
}
}
if (user.gender) {
user.gender = capitalize(user.gender);
}
});

console.log(data);
console.save(JSON.stringify(data),'test_data.json');
}
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

关于javascript - 将新的 JSON 数据保存到新的 json 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48270966/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com