解析nodejs

时间:2017-10-06 12:44:17

标签: node.js json-ld

我有一个.jsonld文件,我想从中读取和解析数据。就像在javascript中我们做JSON.parse。是否有任何类似或其他方法来解析nodejs中的jsonld数据。我的代码段是:

{
  "@context": "http://schema.org/",
  "@type": "Person",
  "name": "Peter Parker",
  "jobTitle": "Spiderman",
  "telephone": "(425) 123-4567",
  "url": "http://www.spiderman.com"
}

3 个答案:

答案 0 :(得分:2)

fs.readFile('./.jsonid', 'utf8', (err, data) => {
  if (err) throw err;
  console.log(JSON.parse(data)); // do whatever you want here
});

使用fs从文件中读取内容,然后使用数据解析或执行任何操作。

答案 1 :(得分:0)

通常,您会使用类似require('./data.jsonld')require only works on .{js,json,node} file extensions的内容。所以你有两个选择:

选项1:将文件扩展名重命名为*.json,然后使用require

data.json

{
  "@context": "http://schema.org/",
  "@type": "Person",
  "name": "Peter Parker",
  "jobTitle": "Spiderman",
  "telephone": "(425) 123-4567",
  "url": "http://www.spiderman.com"
}

节点app.js

let data = require('./data.json')
console.log(typeof data) // 'object'

选项2:保留*.jsonld,使用fs读取文件,然后解析

data.jsonld

{
  "@context": "http://schema.org/",
  "@type": "Person",
  "name": "Peter Parker",
  "jobTitle": "Spiderman",
  "telephone": "(425) 123-4567",
  "url": "http://www.spiderman.com"
}

node-app.js(synchronous版本)

const fs = require('fs')
let data = JSON.parse(fs.readFileSync('./data.jsonld', 'utf8))
console.log(typeof data) // 'object'

答案 2 :(得分:0)

要解析jsonld文件,理想情况下应使用jsonld解析器。参见https://github.com/digitalbazaar/jsonld.js/