2013-10-24 4 views
0

Как мне получить доступ к этой переменной key, расшифрованной от JSON? Я использовал пример в Excel VBA: Parsed JSON Object Loop. Редактор VBA меняет регистр на верхний регистр, даже когда я меняю его на нижний регистр. Я также пробовал комментировать оба и раскомментировать нижний регистр key, но он все равно меняет его. Я не думал, что дело будет иметь значение, но оно жалуется, и я не уверен, почему, поскольку поле явно существует.Как получить доступ к переменной JSON в нижнем регистре, когда VBA продолжает меняться в верхнем регистре?

Imgur

+0

что 'Тип' переменной' arr'? Я не могу видеть ваши объявления из-за окна сообщения об ошибке. –

+0

'Set arr = jsonDecode (jsonString)' – Chloe

+0

Это назначение переменной. Что такое «Dim arr as ...»? –

ответ

1

мне пришлось добавить Private sc As ScriptControl в верхней части модуля, иначе он не будет работать. Даже Dim sc as ScriptControl в функции не будет работать. Я также создал функцию Javascript get для извлечения значений.

Private sc As ScriptControl 
... 
Function jsonDecode(jsonString As Variant) 
    Set sc = New ScriptControl 
    sc.Language = "JScript" 
    sc.AddCode "Object.prototype.get=function(i) { return this[i]; };" 
    Set jsonDecode = sc.Eval("(" + jsonString + ")") 
End Function 

... 

Set arr = jsonDecode(objHTTP.ResponseText) 
Debug.Print arr.get("key") 
Смежные вопросы