2009-04-19 6 views
0

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

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

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

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

Спасибо!

ответ

1

Это javascript object literal, который почти такой же, как 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

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

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