Неверный тип.Ожидаемый «объект» - PullRequest
0 голосов
/ 28 мая 2019

У меня есть этот json, но код Visual Studio выдает мне предупреждение в заголовке.

[
    {
      "title": "Book A",
      "imageUrl": "https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQ6B1bizZf6gt_7vtUZXx0cPf81u07iJf9ZPBMPn5kM_5pyIRnE",
      "description": "Cool book!",
      "price": "10",
      "id": "0.9910457947149673"
    },
    {
      "title": "Book B",
      "imageUrl": "https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQ6B1bizZf6gt_7vtUZXx0cPf81u07iJf9ZPBMPn5kM_5pyIRnE",
      "description": "Nice!",
      "price": "12",
      "id": "0.3677736742556723"
    },
    {
      "id": "0.2599869075653567",
      "title": "Αχίλλιου Πόλης",
      "imageUrl": "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAkGBxMSERUTEhIWFhUXGRgZGBgWGBgYHRYZGBsaGB4YGxkYHSggGBolIBgXITEhJSkrLi4uGB8zODMtNygtLisBCgoKDg0OGBAQGi0dHh8rKy0tLSsrLS0tLSsrKy0tKy0rLS0tLS0tLS0tLS0tLS0tLS03LS0tLTcrLTc3NzcrLf/AABEIAOEA4AMBIgACEQEDEQH/xAAcAAACAgMBAQAAAAAAAAAAAAAABQQGAgMHAQj/xABGEAABAwEGBAMEBggFAgcBAAABAAIRAwQFEiExQQZRYXETIpEygbHBBxRCUqHwIzM0YnJz0eEVJILC8RayNURTVIOSoiX/xAAYAQEBAQEBAAAAAAAAAAAAAAAAAQIDBP/EACERAQEAAgIDAAMBAQAAAAAAAAABAhESIQMxQSJRkTIT/9oADAMBAAIRAxEAPwC/IQhUCEIQCELCvWaxpe8hrWiSTsEGaFjTeHAOaZBEgjcHdZIBCEIBCEIBCEIBCEIBCEIBCEIBCEIBCEIBCEIBCEIBKbzv+lQfgdLjEnDEN7k79Ej4r4mdTqOoU3YSMIJGpxbA7Kr2yyP8NgY5jsbnE43VJAxHzZHTJB0SzcR0H6OcO7T8VNpXhSdo9use/wB65lcdpfSfUpOmWhj83NIe06Fpw/hOyd0ra7EQ9hJfu1khw2g4vL26oL2qjx1UqVm/VKAlxaalToxuje52Vmr120qRe4w1jZPQAJHwq9pa+01XsFSucRBc2WsGTW68vis39OuHV5If0bXv4tnNFx81LIdWHT00VwXK7RUF3XnjY4Gk8ycJBAY45j3HNdTa4ESDkcx2KY34vmx1dz6UXxxHRspiqKgGzgwlp6A81sua/aVqzpB5bn5i0gZbTzUy8LEyvTdSqNlrhB/r3XNLJba10Wh9J4L6TgSP3vuuB2OxUtsMMMc5qe11tvFdClU8J7aofsPDJxdRGoUm237TpUxUf",
      "description": "A cool book. Everyone should buy it!",
      "price": "10"
    },
    {
      "id": "0.8862598606325078",
      "title": "xvbxb",
      "imageUrl": "https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQ6B1bizZf6gt_7vtUZXx0cPf81u07iJf9ZPBMPn5kM_5pyIRnE",
      "description": "xvcxv",
      "price": "20"
    }
]

Почему?

1 Ответ

4 голосов
/ 28 мая 2019

Верхний уровень JSON исторически ожидается как объект.Не массив или примитив.

На практике применение этого правила варьируется.VSCode напоминает вам, что вы не смотрите на JSON в наиболее совместимом смысле.

Редактировать: Существуют различные RFC, которые определяют JSON, исторические, как правило, более строгие, но в настоящее время в основном заменены.

Я затрудняюсь найти официальное определение JSON, которое применяет правило «элемент верхнего уровня - объект».Я подозреваю, что это было просто реальностью в отношении поддержки браузеров и других анализаторов некоторое время, поэтому он стал стандартом де-факто, прежде чем был должным образом стандартизирован.

См. Например: rfc4627 rfc7159 rfc8259

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...