我在网页上有一个C#应用程序。 Web通过JS调用我的应用程序:
var data = {key1:value1, key2:value2};
app["methodName"](data);
所以,在我的应用中:
public void methodName(object data)
{
//need here something like this:
foreach (var key in data)
{
var value = data[key];
}
}
答案 0 :(得分:2)
Newtonsoft.JSON库允许您将任意JSON解析为动态对象,如下所示:
using Newtonsoft.Json.Linq;
...
dynamic obj = JObject.Parse("{\"key1\":\"value1\", \"key2\":\"value2\"}");
Console.WriteLine(obj.key1);
Console.WriteLine(obj.key2);
您在帖子中提供的方法等同于此:
public static void methodName(dynamic data)
{
foreach (var keyValuePair in data)
{
var value = keyValuePair.Value;
Console.WriteLine(keyValuePair.Name + ": " + keyValuePair.Value);
}
}
答案 1 :(得分:0)
喜欢这个吗?
var data = {'key1':'value1', 'key2':'value2'};
var arr = $.map(data,function(k,v){
return k;
});
document.body.innerHTML = arr;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
此处,arr
将包含所有值。