json在不知道变量数据的情况下提取键



刚开始使用json。我有一些类似于这个数据(这个数据被称为Data0012)。json和我不能编辑它或更改-162.65为另一件事…也……第一个数据,变化,所以我不能称之为):

{
"-162.65": {
"Player": "DntFuckwithMeMTFrs",
"Hands": "44",
"(BTN) PFR (2-2,25) (16+)": "13",
"!!!0 All-In Equity Adjusted BB/100": "-162.65",
"BH_MTT_3Bet (BB vs BU open)": "50"
},
"-162.27": {
"Player": "paramasivum",
"Hands": "40",
"(BTN) PFR (2-2,25) (16+)": "9",
"!!!0 All-In Equity Adjusted BB/100": "-162.27",
"BH_MTT_3Bet (BB vs BU open)": "67"
},
"-157.32": {
"Player": "Fairline69",
"Hands": "49",
"(BTN) PFR (2-2,25) (16+)": "25",
"!!!0 All-In Equity Adjusted BB/100": "-157.32",
"BH_MTT_3Bet (BB vs BU open)": "17"
},
}

我需要从这个数据中提取键,不知道这个数据(好像我没有见过json),而不改变json文件…如上图所示。

我必须用js来做这个。键将改变与新的json的,我需要重复这个过程,并提取键,在下一个脚本中使用它们。我怎样才能正确地做到这一点呢?

我试过了:

<script src="./Data0012.json">
var s = require('./Data0012.json');
var data = JSON.parse(s);
for (var key in data) {
var value = data[key];
}
console.log(key);
</script>

但是控制台给我一个错误的数据:

Uncaught SyntaxError: Unexpected token ':' (at Data0012.json:2:14)属性

我能做什么来解决这个问题?帮助请(别给我扣分)编辑;输入:Data0012.json所需输出:Data0012。json的关键是

如何加载json文件

为您提供两种参考方式

把它包装起来,创建一个Javascript对象
<script type="text/javascript" src="Data0012.json"></script>

读取文件路径

function loadJSON(filePath, callback) {
var xobj = new XMLHttpRequest();
xobj.overrideMimeType("application/json");
xobj.open('GET', filePath, true);
xobj.onreadystatechange = function() {
if (xobj.readyState == 4 && xobj.status == "200") {
// Required use of an anonymous callback as .open will NOT return a value but simply returns undefined in asynchronous mode
callback(xobj.responseText);
}
};
xobj.send(null);
}
loadJSON("Data0012.json", function(text){
const data = JSON.parse(text);
console.log(data);
});

如何获取对象的key

Object.keys(obj)

如何在不同的脚本中获取数据对象

如果你有一个服务器,你可以编写api来编辑和修改你的json文件,并在不同的脚本中调用API以获取json数据,或者简单地使用窗口。localStorage保存更新的数据

// Get object key
const keys = Object.keys(obj);
// Stored data
localStorage.setItem('keys', keys);
// Call method to get stored data when in different scripts
const keys = localStorage.getItem('keys');

如果你想提取JSON对象的键,你可以试试这个

const data = {
"-162.65": {
"Player": "DntFuckwithMeMTFrs",
"Hands": "44",
"(BTN) PFR (2-2,25) (16+)": "13",
"!!!0 All-In Equity Adjusted BB/100": "-162.65",
"BH_MTT_3Bet (BB vs BU open)": "50"
},
"-162.27": {
"Player": "paramasivum",
"Hands": "40",
"(BTN) PFR (2-2,25) (16+)": "9",
"!!!0 All-In Equity Adjusted BB/100": "-162.27",
"BH_MTT_3Bet (BB vs BU open)": "67"
},
"-157.32": {
"Player": "Fairline69",
"Hands": "49",
"(BTN) PFR (2-2,25) (16+)": "25",
"!!!0 All-In Equity Adjusted BB/100": "-157.32",
"BH_MTT_3Bet (BB vs BU open)": "17"
},
}
const keys = Object.keys(data) // ["-162.65","-162.27","-157.32"]

最新更新