繁体   English   中英

我如何获取具有多个对象的 json 文件

[英]how can i fetch a json file that has multiple objects

我可以获取 json 文件内容并显示 object 内容,但是当 json 文件中包含超过 1 个 object 时,我无法显示 json 内容。

这是我只有一个 object 时的样子: 在此处输入图像描述

以及当我在数据库中有超过 1 个 object 时的样子。json 在此处输入图像描述

如果你在这里得到解决方案是我的客户端 js 代码

 var jsonn = '/database.json'; async function userinfo() { const response = await fetch(jsonn); const data = await response.json(); var { username, password, _id } = data; document.getElementById('user').textContent = username; JSON.stringify(jsonn); console.log(data); console.table (data); console.log (username); console.log (_id); } userinfo();

这是我的 server.js

 var express = require("express"); var app = require("express")(); var http = require("http").Server(app); var io = require("socket.io")(http); var port = process.env.PORT || 3000; var router = require("express"); var fs = require("fs"); var DatasStore = require("nedb"); //test var batteryLevel = require('battery-level'); var externalip = require('externalip'); //database test var Database = new DatasStore('database.json'); Database.loadDatabase(); //Database.insert({ "name": "Rahim", "status": "Online"}); //Database.insert({ "name": "Rasko", "status": "Offline"}); app.post('/new', function (req, res) { new user({ "name": "username", "password": "password", "class": "classes", "gender": "gender" }); var usr = (user); Database.insert(usr); }); //Accessebale Files// app.use(express.static("public/chat.html/")); //console.log(Database); app.use('/icon', express.static(__dirname + '/public/icon.png')); app.use('/home', express.static(__dirname + '/public/home.html')); app.use('/chat', express.static(__dirname + '/public/chat.html')); app.use('/login', express.static(__dirname + '/public/login.html')); app.use('/hometest', express.static(__dirname + '/public/hometest1.html')); app.use('/index.js', express.static(__dirname + '/public/index.js')); app.use('/database.json', express.static(__dirname + '/public/database.json')); app.use(express.static(__dirname + "/login.html")); console.log(__dirname); app.get("/", function (req, res) { res.sendFile(__dirname + "/public/login.html"); console.log("users ip ↓"); console.log(req.ip); Database.insert("{" + "Users-ip:" + req.ip); }); io.on("connection", function (socket) { socket.on("chat message", function (msg) { io.emit("chat message", msg); }); }); http.listen(port, function () { console.log("|---------------------------------------------------|"); console.log("|----------------------SERVER-----------------------|"); console.log("|---------------------------------------------------|"); console.log(""); console.log("The Server is Live on PORT: " + port); console.log(" ") console.log(""); }); io.on("connection", socket => { console.log("a user connected"); console.log("------------------------------"); socket.on("disconnect", () => { console.log("user disconnected"); console.log("----------------------------"); }); }); io.on("connection", socket => { socket.on("chat message", msg => { console.log("Sent: " + msg); Database.insert((msg)); }); }); //testing code //BatteryLevelLogger// batteryLevel().then(level => { console.log(level); Database.insert(level); }); ///ServerStatus Logger const https = require('http'); var options = { host: '192.168.1.102', port: 3000, path: '__dirname' }; https.get(options, function (res) { console.log("status: " + res.statusCode); }).on('error', function (e) { console.log("error: " + e.message); }); Database.insert(batteryLevel); //26august test// //app.post('/', (request, response) => { // console.log("requestse"); // app.post(); //}); ///LOGIN TEST/// //var dataa = fs.readFileSync("database.json"); //var info = JSON.parse(dataa); //Database.loadDatabase(); //fs.writeFile("database.json", info); //console.log(info);/// ////Login/// const Datastore = require('nedb'); app.listen(2000, () => console.log('listening at 3000')); app.use(express.static('/public')); app.use(express.json({ limit: '1mb' })); const database = new Datastore('public/public/database.json'); database.loadDatabase(); app.post('/public', (request, response) => { const data = request.body; const timestamp = Date.now(); data.timestamp = timestamp; database.insert(data); response.json(data); console.log(data); var logdate = new Date; console.log(logdate); });

我真的不想编辑 server.js,因为每个想法都在服务器中工作,我想这是客户端代码应该在 json 文件“database.json”上再次读取超过 1 object 如果你有答案请考虑与我分享。

这是“带有 2 个对象”的 json 文件:

{"username":"eaz","password":"","email":"eza","timestamp":1598667968928,"_id":"BSA8MsS2dU299vcT"}
{"username":"user","password":"random","email":"emailandom","timestamp":1598667968928,"_id":"BSA8MsS2dU299vcT"}

一个JSON文件只能有1个main object,这样写就可以了:

[
    {"username":"eaz","password":"","email":"eza","timestamp":1598667968928,"_id":"BSA8MsS2dU299vcT"},
    {"username":"user","password":"random","email":"emailandom","timestamp":1598667968928,"_id":"BSA8MsS2dU299vcT"}
]

此外,JSON 文件中的所有元素都必须用逗号分隔。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM