在ExcelVBA中解析JSON

在ExcelVBA中解析JSON

我有同样的问题EXCEL VBA:解析的JSON对象循环却找不到任何解决办法。我的JSON有嵌套对象,所以建议的解决方案如VBJSON和VBA-json不适合我。我还修复了其中的一个正常工作,但是由于doProcess函数的许多递归,结果是调用堆栈溢出。

最好的解决方案似乎是原始文章中看到的jsondecode函数。它非常快速且高效;我的对象结构都在一个类型为JScriptTypeInfo的通用VBA对象中。

此时的问题是,我无法确定对象的结构,因此,我事先不知道将驻留在每个泛型对象中的键。我需要循环遍历通用的VBA对象来获取键/属性。

如果我的解析javascript函数能够触发一个VBA函数或子函数,那就太好了。


SMILET
浏览 1998回答 3
3回答

素胚勾勒不出你

用VB代码可以更简单地使用array.mytem(0)我的完整答案在这里解析和串(序列化)在js中使用“this”对象ScriptEngine.AddCode "Object.prototype.myitem=function( i ) { return this[i] } ; "然后你就可以走了。我的物品(0)Private ScriptEngine As ScriptControlPublic Sub InitScriptEngine()     Set ScriptEngine = New ScriptControl     ScriptEngine.Language = "JScript"     ScriptEngine.AddCode "Object.prototype.myitem=function( i ) { return this[i] } ; "     Set foo = ScriptEngine.Eval("(" + "[ 1234, 2345 ]" + ")") ' JSON array     Debug.Print foo.myitem(1) ' method case sensitive!     Set foo = ScriptEngine.Eval("(" + "{ ""key1"":23 , ""key2"":2345 }" + ")") ' JSON key value     Debug.Print foo.myitem("key1") ' WTFEnd Sub
打开App,查看更多内容
随时随地看视频慕课网APP