为了账号安全,请及时绑定邮箱和手机立即绑定

在ExcelVBA中解析JSON

在ExcelVBA中解析JSON

SMILET 2019-07-10 15:18:43
在ExcelVBA中解析JSON我有同样的问题EXCEL VBA:解析的JSON对象循环却找不到任何解决办法。我的JSON有嵌套对象,所以建议的解决方案如VBJSON和VBA-json不适合我。我还修复了其中的一个正常工作,但是由于doProcess函数的许多递归,结果是调用堆栈溢出。最好的解决方案似乎是原始文章中看到的jsondecode函数。它非常快速且高效;我的对象结构都在一个类型为JScriptTypeInfo的通用VBA对象中。此时的问题是,我无法确定对象的结构,因此,我事先不知道将驻留在每个泛型对象中的键。我需要循环遍历通用的VBA对象来获取键/属性。如果我的解析javascript函数能够触发一个VBA函数或子函数,那就太好了。
查看完整描述

3 回答

?
素胚勾勒不出你

TA贡献1827条经验 获得超9个赞

用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


查看完整回答
反对 回复 2019-07-10
  • 3 回答
  • 0 关注
  • 1997 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信