繁体   English   中英

C#:如何从JS对象获取键的所有值?

[英]C#: how to get all values for keys from JS Object?

我的网页中有一个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];
   }
}

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);
    }
}

像这样 ?

 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将具有所有值。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM