Является ли ReCaptcha "словарь параметров настройки" JSON? - PullRequest
0 голосов
/ 19 апреля 2009

Это вопрос, который нужно задавать, потому что в основном это связано с отсутствием у меня знаний о Javascript. Похоже, что это может быть «настолько очевидно», что никто больше не указывает это. Должен начать где-то! Я опытный программист на других языках, я просто незнаком с JS.

На странице документации клиента API ReCaptcha приведен пример правильного формата словаря параметров настройки.

Я пишу стороннее приложение, которое генерирует этот словарь на основе пользовательских настроек. Я не знаю / не смог найти тип словаря в Javascript. Мое лучшее предположение, что словарь - JSON . Я хочу убедиться, что мой вывод действителен и соответствует ожидаемому, особенно в отношении кавычек (вообще «одинарный» двойной »и т. Д.)

Это JSON? Это другой тип словаря? Кто-нибудь может указать мне на какие-то спецификации, как выглядит действительный экземпляр словаря JS? Поиск в Google по словарю Javascript оказался неэффективным из-за общего качества поисковых терминов.

Спасибо!

Ответы [ 2 ]

1 голос
/ 19 апреля 2009

Это javascript литерал объекта , который почти совпадает с JSON (это расширенный набор). Любой допустимый JSON будет работать здесь, но, как вы можете видеть из их примера, Javascript имеет несколько других опций:

<script>
var RecaptchaOptions = {
   theme : 'white',
   tabindex : 2
};
</script>

Часть между фигурными скобками является допустимым Javascript, но не допустимым JSON, потому что theme, tabindex и white должны быть заключены в двойные кавычки. Ниже действительный JSON, встроенный в Javascript, который отлично работает:

<script>
var RecaptchaOptions = {
   "theme" : "white",
   "tabindex" : 2
};
</script>
0 голосов
/ 19 апреля 2009

Нет, это не JSON, это простой JavaScript. Более точно: это простой объект, объявленный с использованием синтаксиса инициализатора объекта { … }.

Этот синтаксис похож на JSON, поскольку JSON является подмножеством JavaScript. Но JSON требует, чтобы имена свойств были строкой в ​​кавычках, а JavaScript - нет.

...