从文件目录中的文件读取和使用JSON数据

问题描述 投票:0回答:3

我正在尝试访问 xmltojson.json 文件中的部分/全部数据。有谁知道如何使用javascript将数据分配给变量?

const jsonfile = require('jsonfile')
const file = 'xmltojson.json'
jsonfile.readFile(file, function (err, obj) {
  if (err) console.error(err)
  console.dir(obj)
})

enter image description here

javascript json file parsing
3个回答
0
投票

这里有两种方法来解决这个问题。

  1. NodeJS

1.1 如果你在 Node 中使用 read 方法并且确定不需要此文件中的任何包或包或模块,则可以使用它:

const fileContext = JsonFileName.readFileAsync(file);
const jsonContext = Jason.parse(fileContext)

1.2 使用要求。

const file = require('fileName.json')

注意:

  • require 无法在 json 文件更改时动态更改内容。
  • 只需要支持文件后缀为json,如'*.json'。
  1. 如果你在webpack中编写此代码,只需导入

    导入'./fileName.json'


0
投票

您可以使用

导入 .json 文件
import jsondata from './xmltojson.json'

在您的 script.js 文件中。

然后,如果你想到达 ItemStartDate 数据,你可以像往常一样使用带有索引的点表示法:

const itemstartdate = jsondata.MBS_XML.Data[0].ItemStartDate;

0
投票

我的理解

我看到您给了我们一张图像,我假设“xmltojson.json”文件与 JavaScript 文件位于近距离相对接近,这意味着我将使用 fetch() 方法对于这个。 (路径可以参考下面的Extras)

注:

您可以使用其他方法,例如 require() 方法,但因为我不完全了解 require() 方法的用例,所以我将继续使用 fetch() 方法来解决这个问题。

目标(据我所知)

从名为“xmltojson”的相对接近的文件访问数据/内容 带有文件扩展名和 formatee“.json 或 JSON - JavaScript 对象 符号”

**JavaScript**
fetch('./xmltojson.json')
  .then( response => response.json())
  .then( data => {
    // You're Code Here
    // The code supposes that you're trying to get the 'ItemNum' in the Data. 
    // NOTE: You may want to modify the code snippet to align with your preference.
    const itemNum = data[0].MBS_XML.Data.ItemNum;
    console.log(itemNum);
  })
  .catch( error => {
    throw new Error(` Error: ${error}`);
  });

我做了什么:

  1. 在 fetch('./xmltojson.json') 中添加了 ./,因此我认为您的“xmltojson.json”文件位于与 JavaScript 文件相对较近或较近的范围内。 (您可以参考下面的附加内容作为文件路径的示例。)

注:

您可能想将“./xmltojson.json”更改为 “xmltojson.json”文件。 (例如

fetch('$path/folder/xmltojson.json'

2.添加错误处理以“方便”您可能在浏览器的控制台/其他中遇到错误。


额外

(-) 这是一个小“图”,它将向您显示您可以在编码中使用的文件路径。

$Project
|
|>> Your JS script.
|>>[Folder]
%>>>|
    *>> your JSON file.(xmltojson.json)

上面示例给出的“xmltojson.json”的文件路径是

Project/Folder/xmltojson.json

© www.soinside.com 2019 - 2024. All rights reserved.