【发布时间】:2016-04-05 01:49:20
【问题描述】:
我尝试在另一个线程中遵循该方法,但是代码中的某些部分我不理解并且它对我不起作用。我可以发表评论,因为我还没有达到 50 名声望。 (我包括了另一个线程的响应)
我正在尝试访问 Json 响应,如下所示,我想将细节后的数组横向放入 excel(A1-A6 列),但是在另一篇文章中,我不明白脚本控制方法是什么。
并且没有任何注释行来解释它是什么。我尝试使用它,代码只是在 sc.Eval "var obj=(" & json & ")" 失败
另外, json = {get your json here} 行失败,而是我将其替换为 Json = resp ,其中 resp 是从 API 返回的输出。
非常感谢您的帮助。
Sub Tester()
Dim json As String
Dim sc As Object
Dim o
Set sc = CreateObject("scriptcontrol")
sc.Language = "JScript"
json = {get your json here}
sc.Eval "var obj=(" & json & ")" 'evaluate the json response
'add some accessor functions
sc.AddCode "function getSentenceCount(){return obj.sentences.length;}"
sc.AddCode "function getSentence(i){return obj.sentences[i];}"
Debug.Print sc.Run("getSentenceCount")
Set o = sc.Run("getSentence", 0)
Debug.Print o.trans, o.orig
End Sub
来自 API 的 JSON 响应
{"details":[
{
"trade":"Micro",
"trade_tenor":"5yr+"
},
{
"trade":"Odd",
"trade_tenor":"10yr+"
},
{
"trade":"Round",
"trade_tenor":"20yr+"
} ]}
【问题讨论】:
-
"我已经尝试在另一个线程中遵循该方法" -- 那是什么线程?您的代码无法编译 - 您将
json声明为字符串,但随后尝试为其分配不是字符串的内容。 -
嗨,这是我得到的示例代码。 stackoverflow.com/questions/14822672/…
-
我做了类似的事情,我在 vba 中使用了 http.responsetext 方法,并将响应作为字符串处理,并且它起作用了。但是,在这种情况下,响应结果是一个数组,所以我之前的代码在这里不适用,因为我使用了一个 json 解析器来处理键名。