c# - 在脚本中迭代对象的属性#

标签 c# javascript iteration script#

什么 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))
{

}

生成(在 Script# 0.7.2 中):

var obj = eval('(' + json + ')');
var $dict1 = obj;
for (var $key2 in $dict1) {
    var entry = { key: $key2, value: $dict1[$key2] };
}

旁注:在 Script# 中已经有一个针对原生 JSON 的绑定(bind)。如果您的目标是,您可以在命名空间 System.Serialization 中将 Script.Eval(...) 替换为 Json.Parse(...)具有 native JSON 支持的浏览器或将包括流行的 json2.js图书馆等。

关于c# - 在脚本中迭代对象的属性#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6301046/

相关文章:

javascript - 如何将自定义 CSS/JS 添加到 Grails 2.4.x 布局/模板?

java - 循环不迭代全长

html - 带迭代的 Angular 动态复选框

c# - 取消 HttpClient 请求 - 为什么 TaskCanceledException.CancellationToken.IsCancellationRequested 为假?

C#:为什么下面的比较表明 0 != 0

大数的 C# linq Sum() 扩展

python - 如何在 Pandas 中迭代数据框时保留数据类型?

c# - UWP AutoSuggestBox - 向上/向下箭头键触发 SuggestionChosen

javascript - Html5 - 删除插入不完整日期时输入日期的镶边错误

javascript - 打开后将浏览器滚动条与模态窗口绑定(bind)