在VBA里面怎么读取json字符串

fieldset{padding:10px;}

在VBA里面如何读取json字符串?想实现一个操作,在VBA里面读取现成的json字符串,然后把其中每一项的值插入到EXCEL表中像下面这样调用JS虽然也能实现,但是存在两个问题1)因为这个json字符串里面的值是不固定的,所以像下面那种直接引用KEY的名字的做法,有时会出错误。想加一个对这个KEY是否存在的判断。2)像下面那样引用的话,有的时候VBA会自动把KEY的打头字母变成大写例如把data变成Data,这样就跟KEY名不一致了,又会产生错误请高手指教DimcnsJSONStringAsStringcnsJSONString=txtJson.TextDimscAsObjectDimstrFuncAsStringDimobjJSONAsObjectSetsc=CreateObject(“ScriptControl”)sc.Language=”JScript”strFunc=”functionjsonParse(s){returneval(‘(‘+s+’)’);}”sc.AddCodestrFuncSetobjJSON=sc.CodeObject.jsonParse(cnsJSONString)MsgBoxobjJSON.familynameSetobjJSON=NothingSetsc=Nothing——最佳解决方案——————————————————–不懂Json,帮顶——其他解决方案——————————————————–1)因为这个json字符串里面的值是不固定的,所以像下面那种直接引用KEY的名字的做法,有时会出错误。想加一个对这个KEY是否存在的判断。–思路是嗲用一个js函数,在这个函数里面判断,大致代码如下:jscode=”varobj;function_Callback(o){obj=o;return1;};functionfcal(s){returneval(s);};functiongetval(name){t=eval(‘typeofobj.’+name);if(t!=’undefined’){returneval(‘obj.’+name)};return””};”Setjs=CreateObject(“ScriptControl”)js.Language=”JavaScript”js.AddCodejscodeDimiAsIntegeri=js.Run(“fcal”,”_Callback({result:1,name:””tom””,age:20})”)MsgBoxjs.Run(“getval”,”result”)Rem不存在的字段只会返回空串,不会报错MsgBoxjs.Run(“getval”,”not_result”)2)像下面那样引用的话,有的时候VBA会自动把KEY的打头字母变成大写例如把data变成Data,这样就跟KEY名不一致了,又会产生错误–我测试的结果是:vba自动给你改成大学的是关键字,例如nameval等,你自己的json最好用个性化的名字,例如strname,iage等。对于旅行,从来都记忆模糊。记不得都去了哪些地方,

在VBA里面怎么读取json字符串

相关文章:

你感兴趣的文章:

标签云: