Разбор вложенного json с помощью 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 для вывода здесь имени пользователя или имени пользователя. Он может либо перебирать каждую вещь и печатать значение имени пользователя, либо просто принимать первое значение, потому что это тоже имя пользователя. Я нигде не могу найти в Интернете хороший учебник по этому поводу. Я хочу убедиться, что печатаю каждое имя пользователя, а не сущность. Может кто-нибудь помочь с этим?

2 ответа

Предполагая, что ваша переменная JSON называется data, вы можете извлечь ключи с помощью Object.keys(data)

Чтобы перебрать и получить имена пользователей, вы можете сделать

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

Пожалуйста, поймите, что JSON означает нотацию объектов JavaScript. Другими словами, JSON представляет собой объект Javascript. Преобразуйте JSON в объект Javascript.

Например

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

Итак, в приведенном выше коде вы можете получить роллно, обратившись к объекту object1

console.log(объект1.rollno);

Это будет продукт 101 в консоли.

Возьмите свою строку JSON и пропустите ее через JSON.parse().

Прочтите https://www.geeksforgeeks.org/converting-json-text-to-javascript-object/

Другие вопросы по тегам