我有一些要格式化的json文件。 问题是我不知道如何仅获取该对象的标题。 我认为应该像这样: 1.获取JSON 2.从此json创建一个仅包含标题“ C-402-621,C-393-643,C-389-643 ...”的数组。
这里是JSON
{
"data":{
"C-402-621":[
23944,
21469,
10160,
"abc",
0,
0,
""
],
"C-393-643":[
31424,
21469,
10160,
"def",
0,
0,
""
],
"C-389-643":[
31713,
21469,
10160,
"gfd",
0,
0,
""
],
... and it goes like this 100+ times till end.
例如,我希望结果如下:
"402|621 393|643 389|643 ..."
答案 0 :(得分:1)
您可以使用forEach
循环和字符串操作。首先使用Object.keys
,我们得到data object
的所有键。然后可以逐个迭代这些键,并使用substr
可以删除前3个字符,并使用replace
可以将-
替换为|
var a=[{
"data":{
"C-402-621":[
23944,
21469,
10160,
"abc",
0,
0,
""
],
"C-393-643":[
31424,
21469,
10160,
"def",
0,
0,
""
],
"C-389-643":[
31713,
21469,
10160,
"gfd",
0,
0,
""
]}}]
var data=Object.keys(a[0].data)
data.forEach((e)=>{data[data.indexOf(e)]=e.substr(2).replace('-','|')})
console.log(...data)
答案 1 :(得分:0)
您可以在nodejs中创建一个脚本,以读取文件的内容,将其保存在变量中,然后将其传递给以下函数
var obj = { data: { .... } };
var keys = Object.keys(obj.data);
现在,键包含对象中所有键的数组。要像您的示例一样打印它,
console.log(keys.join("|");
//"402|621 393|643 389|643 ..."
答案 2 :(得分:0)
data
子对象中)。
var jsonData = {
"data": {
"C-402-621": [
23944,
21469,
10160,
"abc",
0,
0,
""
],
"C-393-643": [
31424,
21469,
10160,
"def",
0,
0,
""
],
"C-389-643": [
31713,
21469,
10160,
"gfd",
0,
0,
""
]
}
};
console.log(Object.keys(jsonData.data).map(x => x.split('-').splice(1).join('|')).join(' '));
.as-console-wrapper { top: 0; max-height: 100% !important; }