Ошибка десериализации файла Google-services.json

Пытался следовать инструкциям по настройке Push-уведомлений через центр приложений MS. Поэтому я создал приложение в консоли Firebase в соответствии с инструкциями, а затем скачал оттуда файл google-services.json. Скопировал его в свой проект и исправил действие сборки в GoogleServicesJson. Завершил остальную часть настройки в Firebase, App Center и в моем коде. Но когда я попытался построить, я получил следующую ошибку: There was an error deserializing the object of type Xamarin.GooglePlayServices.Tasks.GoogleServices.

Трассировка стека дала мне эту информацию:

There was an error deserializing the object of type Xamarin.GooglePlayServices.Tasks.GoogleServices. Encountered an unexpected character 'ï' in JSON. ---> System.Xml.XmlException: Encountered an unexpected character 'ï' in JSON.

но я не вижу ï нигде в файле. Искал проблему и нашел людей, использующих синтаксический анализатор, чтобы исправить это, но я не уверен, где применить указанный синтаксический анализатор. Кто-нибудь сталкивался с этим раньше?

Вот как выглядит файл

{
  "project_info": {
    .. Configuration info ..
  },
  "client": [
    {
      .. Lots of lines ..
    }
  ],
  "configuration_version": "1"
}

Я бы предположил, что файл json имеет последовательность BOM (unicode). Откройте файл в редакторе (vi и т. д.), который позволяет повторно сохранить его как файл в кодировке ascii / UTF-8 / и т. д. (а не на основе юникода).

SushiHangover 26.06.2019 22:16
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
2
1
464
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Итак, я щелкнул правой кнопкой мыши файл в Visual Studio и выбрал «Hex Editor». И вот, ï был первым символом файла вместе с >> и ? перед открывающей фигурной скобкой: {

Поэтому я удалил лишние символы до открывающей скобки, и ошибка была устранена. Теперь о других ошибках...

откуда вообще взялся этот персонаж? Вы, возможно, решили это сейчас, но вы думаете, что это может возникнуть снова? Если да, то я бы использовал функцию замены строки в исходной строке, а затем сохранил ее @Saamer

NSDumb 26.06.2019 22:53

@NSDumb Это заголовок спецификации в файле, я предполагаю, что он был открыт в Visual Studio и повторно сохранен, поскольку это не так, как при загрузке из google/firebase.

SushiHangover 26.06.2019 23:03

Да, это близко к тому, что произошло. Поскольку я ждал разрешения директора, я создал файл google-services.json в Visual Studio, а затем просто скопировал его содержимое, когда получил его. И я понял, что визуальная студия автоматически создает этого персонажа при просмотре в шестнадцатеричном редакторе. И да, я проверил, этого не произойдет, если вместо этого вы просто добавите файл из Visual Studio.

Saamer 26.06.2019 23:45

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