问题描述
|
哪些Script#代码将生成以下JavaScript?
var obj = eval(\'(\' + jsonText + \')\');
for (key in obj) // what C# code translates to this iteration?
{
// ...
}
谢谢。
解决方法
您可以接近:
Object obj = Script.Eval(\"(\" + json + \")\");
foreach (DictionaryEntry entry in Dictionary.GetDictionary(obj))
{
}
生成(在脚本#0.7.2中):
var obj = eval(\'(\' + json + \')\');
var $dict1 = obj;
for (var $key2 in $dict1) {
var entry = { key: $key2,value: $dict1[$key2] };
}
旁注:Script#中已经存在用于本地JSON的绑定。如果您要针对具有本机JSON支持的浏览器,或者将包含流行的json2.js
库等,则可以在名称空间System.Serialization
中用ѭ4替换Script.Eval(...)
。