Я использую ASPJSON (https://www.aspjson.com/) для записи JSON в классическом ASP/VBScript. Затем я пытаюсь пройти через JSON и получить доступ как к ключу, так и к значению. В нынешнем виде я могу получить доступ только к значению.
JSON
Set InitialGlaDataJsonForm = New aspJSON
With InitialGlaDataJsonForm.data
.Add "glaFormContent", InitialGlaDataJsonForm.Collection()
With .item("glaFormContent")
.Add "form", "myform"
.Add "email", "email@address"
.Add "phone", "012345"
.Add "name", "Joe Bloggs"
End With
End With
JSON выглядит так
{
"glaFormContent": {
"form": "myform",
"email": "email@address",
"phone": "012345",
"name": "Joe Bloggs"
}
}
Цикл через JSON, доступ к значению
For Each element In InitialGlaDataJsonForm.data("glaFormContent")
response.write InitialGlaDataJsonForm.data("glaFormContent").item(element) & "<br>"
Next
Приведенное выше возвращает значение во время каждой итерации, однако мне нужно иметь возможность получить ключ, не записывая его.
Итак, мой вопрос: как мне получить доступ к ключу так же, как к значению?
Большое спасибо
Связанный - Как получить свойство JSON из массива в aspJSON?
При повторении коллекции словарей с использованием оператора For
перечислитель, используемый ASPJSON, является «ключом», в вашем случае это переменная element
. Если вы используете;
Response.Write element
текущий ключ будет возвращен, вы можете использовать;
Response.Write InitialGlaDataJsonForm.data("glaFormContent").item(element)
для получения базового значения, связанного с ключом.
Response.Write element
даст вам ключ. В ASPJSON при циклическом просмотре словаряdata
element
является вашим ключом, а.item(element)
дает вам значение, связанное с этим ключом.