簡體   English   中英

用javascript解析嵌套的json

[英]Parsing nested json with javascript

我有一些 JSON。

{
  ZVH2: {
    username: 'ZVH2',
    ping: 0,
    uuid: '3a4423c3-dce1-40c1-8333-ab2ffdfcd005',
    displayName: ChatMessage {
      json: [Object],
      text: '',
      extra: [Array],
      bold: undefined,
      italic: undefined,
      underlined: undefined,
      strikethrough: undefined,
      obfuscated: undefined,
      color: undefined
    },
    entity: Entity {
      _events: [Object: null prototype] {},
      _eventsCount: 0,
      _maxListeners: undefined,
      id: 367,
      type: 'player',
      position: [Vec3],
      velocity: [Vec3],
      yaw: 3.141592653589793,
      pitch: 0,
      onGround: false,
      height: 1.62,
      width: 0,
      effects: [Object],
      equipment: [Array],
      heldItem: [Item],
      isValid: true,
      metadata: [Array],
      username: 'ZVH2',
      name: 'player',
      timeSinceOnGround: 0,
      attributes: [Object],
      isInWater: false,
      isInLava: false,
      isInWeb: undefined,
      isCollidedHorizontally: false,
      isCollidedVertically: false,
      [Symbol(kCapture)]: false
    },
    gamemode: 2
  },
  Maximo237354: {
    username: 'Maximo237354',
    ping: 161,
    uuid: 'd6d1bcda-d3c0-406b-b91e-beb3f7be9f5f',
    displayName: ChatMessage {
      json: [Object],
      text: '',
      extra: [Array],
      bold: undefined,
      italic: undefined,
      underlined: undefined,
      strikethrough: undefined,
      obfuscated: undefined,
      color: undefined
    },
    entity: Entity {
      _events: [Object: null prototype] {},
      _eventsCount: 0,
      _maxListeners: undefined,
      id: 72,
      type: 'player',
      position: [Vec3],
      velocity: [Vec3],
      yaw: 2.773437264497239,
      pitch: -0.04908738521234035,
      onGround: true,
      height: 1.62,
      width: 0.6,
      effects: [Object],
      equipment: [Array],
      heldItem: [Item],
      isValid: true,
      metadata: [Array],
      name: 'player',
      username: 'Maximo237354',
      uuid: 'd6d1bcda-d3c0-406b-b91e-beb3f7be9f5f',
      dataBlobs: undefined,
      attributes: [Object],
      headYaw: 2.773437264497239,
      [Symbol(kCapture)]: false
    }
  }
}

我想在這里使用 javascript 打印 username 的用戶名。 它可以遍歷每件事並打印用戶名值,或者它可以只取第一個值,因為那也是用戶名。 我在網上找不到任何好的教程。 我想確保我打印每個用戶名而不是實體。 有人可以幫忙嗎?

假設您的 JSON 變量名為data ,您可以使用Object.keys(data)提取鍵

迭代並獲取您可以執行的用戶名

Object.keys(data).forEach(key => {
   let username = data[key].username;
});

請理解 JSON 代表 JavaScript Object Notation。 換句話說,JSON 代表一個 Javascript 對象。 將 JSON 轉換為 Javascript 對象。

例如

var object1 = JSON.parse('{"rollno":101, "name":"Mayank", "age":20}');

所以在上面的代碼中你可以通過訪問object1來獲取rollno

控制台日志(object1.rollno);

它會在控制台中產生 101。

獲取您的 JSON 字符串並通過 JSON.parse() 運行它。

請閱讀https://www.geeksforgeeks.org/converting-json-text-to-javascript-object/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM