Я не могу получить значение из объекта json, если в строке есть тире:
{
"profile-id":1234, "user_id":6789
}
Если я попытаюсь сослаться на анализ, jsonObj.profile-id
он вернется, ReferenceError: "id" is not defined
но jsonObj.user_id вернет 6789
У меня нет способа изменить значения, возвращаемые внешним вызовом api, и попытка проанализировать возвращаемую строку, чтобы удалить тире, разрушит URL-адреса и т.д., которые также передаются. Помогите?
javascript
json
user1902467
источник
источник
Utilities.jsonParse
не говорит много.Ответы:
jsonObj.profile-id
это выражение вычитания (т.е.jsonObj.profile - id
).Чтобы получить доступ к ключу, который содержит символы, которые не могут присутствовать в идентификаторе, используйте скобки:
источник
document.getElementById("someId").style["box-shadow"]="2px 2px 2px #616161";
прекрасно работает!style.boxShadow
вместо этого. Вstyle
объекте новообращенных дефисов верблюжий.В дополнение к этому ответу обратите внимание, что в Node.js, если вы обращаетесь к JSON с синтаксисом массива,
[]
все вложенные ключи JSON должны следовать этому синтаксисуЭто неправильный путь
и выдаст вам ошибку undefined.
Это правильный путь
источник
Для возможности и использования дефиса это сработало для меня:
источник