我正在使用Jint在C#应用程序中评估JavaScript。我的JS返回一个字符串数组:
return ["blah", "blah", "blah"];
但是我不确定回到C#后如何正确使用该数组:
Object result = e.Execute (javaScript).Invoke("jsFunction", answers).ToObject();
string[] resultAsStrings = ???;
这是调试器的外观:
最佳答案
在这种情况下,您可以将ToObject()
的结果强制转换为object[]
。
以下是ToObject()
面向JavaScript值时应用的转换:undefined
:null
null
:null
Boolean
:bool
String
:string
Number
:double
Array
:object[]
,每个元素本身使用ToObject()
转换Date
:DateTime
Function
:Func<JsValue, JsValue[], JsValue>
RegExp
:Regex
Object
:dynamic
,并使用ToObject()
转换对象的所有属性
如果没有匹配的类型,则抛出ArgumentOutOfRangeException