Node.js:用“@”符号解析 json-ld / JSON
Node.js: Parsing a json-ld / JSON with "@"-symbol
我有一个 JSON 看起来像这样:
{"marker":[{"@attributes":{"start":"Im Berge",
"finish":"Eichelberger Stra\u00dfe"
...
我正在尝试解析“@attributes”中的属性,但还没有找到方法。到目前为止我尝试了什么:
const fs = require('fs');
var jsonObj = JSON.parse(fs.readFileSync('route1.json', 'utf8'));
console.log(jsonObj['@attributes']);
也尝试了与
相同的方法
console.log(jsonObj.marker['@attributes']);
这两个都不起作用。我知道这应该是一个 json-ld 并且我应该用 ['@attributes'] 解析带有“@”符号的对象,但无论哪种方式我总是得到错误或未定义.我从我想使用的 API 那里得到了 JSON,它在那里多次,所以我没有办法绕过它。
.marker
是一个 array
所以:
console.log(jsonObj.marker[0]['@attributes']);
但您可能想遍历它:
jsonObj.marker.forEach(marker => console.log(marker['@attributes']));
您可以 require
一个 JSON 文件,而不是 JSON.parse
& fs.readFileSync
var jsonObj = require('./route1.json');
我有一个 JSON 看起来像这样:
{"marker":[{"@attributes":{"start":"Im Berge",
"finish":"Eichelberger Stra\u00dfe"
...
我正在尝试解析“@attributes”中的属性,但还没有找到方法。到目前为止我尝试了什么:
const fs = require('fs');
var jsonObj = JSON.parse(fs.readFileSync('route1.json', 'utf8'));
console.log(jsonObj['@attributes']);
也尝试了与
相同的方法console.log(jsonObj.marker['@attributes']);
这两个都不起作用。我知道这应该是一个 json-ld 并且我应该用 ['@attributes'] 解析带有“@”符号的对象,但无论哪种方式我总是得到错误或未定义.我从我想使用的 API 那里得到了 JSON,它在那里多次,所以我没有办法绕过它。
.marker
是一个 array
所以:
console.log(jsonObj.marker[0]['@attributes']);
但您可能想遍历它:
jsonObj.marker.forEach(marker => console.log(marker['@attributes']));
您可以 require
一个 JSON 文件,而不是 JSON.parse
& fs.readFileSync
var jsonObj = require('./route1.json');