Назад | Перейти на главную страницу

Ошибка синтаксического анализа JSON в скрипте установки Windows Sensu Client Powershell - неожиданный символ в строке 1, столбце 1

Я создаю сценарий установки для Sensu в Windows и получаю эту ошибку при запуске службы:

{
  "timestamp": "2016-04-14T23:05:45.043371+0100",
  "level": "warn",
  "message": "config file must be valid json",
  "file": "C:/opt/sensu/conf.d/client.json",
  "error": "unexpected character at line 1, column 1 [parse.c:652]"
}

Эта ошибка присутствует во всех файлах конфигурации JSON.

Вот мой установочный скрипт, который успешно устанавливает msi и записывает файлы так, как я хочу: http://pastebin.com/GgQsNcAX

Вот пример выходного файла конфигурации:

{
    "client": {
        "name": "Server1",
        "address": "1.1.1.1",
        "subscriptions": [ "none" ]
    }
}

Символы:

Мне нравится !?

Предложение: Используйте шестнадцатеричный редактор, чтобы просмотреть файл. Вы можете найти мошеннический FE FF в заголовке файла; это маркер порядка байтов для Unicode, и он не отображается в текстовых редакторах, поддерживающих Unicode. Блокнот, кстати, поддерживает Unicode. (В этом случае вы также обнаружите, что ваша фигурная скобка вместо 0x7B на самом деле равна 0x00 0x7B.)