【问题标题】:how do I the whole keys of a json?我如何获取 json 的全部键值?
【发布时间】:2022-06-15 04:34:38
【问题描述】:

我有这个代码:

<body>
  <script type="application/json" src="Data0012.json"></script>
    <div><select id="selector"></select></div>
        <div class="chart"></div>
        <div class="equation"></div>
        <div class="equation"></div>




    <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);
});

// 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');

console.log(keys)

    </script

我有这个 json

{
    "-162.65": {
        "Player": "Gdlachance",
        "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"
    },
    "-51.20": {
        "Player": "Matthinio-10",
        "Hands": "34",
        "(BTN) PFR (2-2,25) (16+)": "40",
        "!!!0 All-In Equity Adjusted BB/100": "-51.20",
        "BH_MTT_3Bet (BB vs BU open)": "80"
    }}

该代码给了我第一列(“-162.65”,“-162,67”,“157.32”......),问题是我想要json的第二列

“播放器”, “手”, “(BTN)PFR(2-2,25)(16+)”, "!!!0 All-In Equity Adjusted BB/100" “BH_MTT_3Bet (BB vs BU open)”:

如何调用 json 的所有键? 我无法修改 json(我无法添加代码或其他任何内容),并且我不知道列内的值是什么(在 csv 中它会成为第一行(不能显式调用它们)...在 json 中看起来好像是第二列),我希望我能理解自己。

【问题讨论】:

  • 您一次只能发布一个问题。现在很难理解你真正想要什么。
  • 我只想调用json的第二列
  • 您询问一列但发布整个实例,但 json 没有任何列。您必须发布您需要的输出并指出它仅适用于一个键或所有键
  • 现在好点了吗?
  • 我还是不明白为什么你需要第二个属性而不是第三个或第一个?

标签: javascript json


【解决方案1】:

我不知道您如何决定应该选择哪个 orderNum 的属性,但是您可以使用此代码通过 o​​rderNum 获取任何属性

let orderNum=1;
console.log( data[Object.keys(data)[orderNum]]); //  "Player": "Fairline69",...

【讨论】:

    猜你喜欢
    • 2011-10-27
    • 2017-04-29
    • 2020-05-02
    • 1970-01-01
    • 1970-01-01
    • 2018-06-16
    • 2018-04-13
    • 2019-10-17
    • 1970-01-01
    相关资源
    最近更新 更多