Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/268.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将数组从Javascript传递到C#_C#_Javascript_Arrays - Fatal编程技术网

将数组从Javascript传递到C#

将数组从Javascript传递到C#,c#,javascript,arrays,C#,Javascript,Arrays,我有一个包含数组的.js脚本: js的输出如下所示: var foo= [ { "bar1":"value1", "bar2":"value2" // And so on... } ] 我无法访问js源代码,因此无法作为JSON输出并反序列化 我只能用 WebClient < /COD>获取字符串,但是如何解析它并创建数组/字典并在C中工作? < P>您应该考虑调用 WebCclipse。然后使用JSON.

我有一个包含数组的.js脚本:

js的输出如下所示:

var foo=
[
    {
        "bar1":"value1",
        "bar2":"value2"
        // And so on...            
    }
]
我无法访问js源代码,因此无法作为JSON输出并反序列化


我只能用<代码> WebClient < /COD>获取字符串,但是如何解析它并创建数组/字典并在C中工作?

< P>您应该考虑调用<代码> WebCclipse。然后使用
JSON.Net
或其他方法进行解析

根据那边提供的例子

string json = @"{
  ""Name"": ""Apple"",
  ""Expiry"": "2008-12-28T00:00:00",
  ""Price"": 3.99,
  ""Sizes"": [
    ""Small"",
    ""Medium"",
    ""Large""
  ]

}";
JObject o = JObject.Parse(json);
string name = (string)o["Name"];
// Apple
JArray sizes = (JArray)o["Sizes"];
string smallest = (string)sizes[0];

// Small

var foo=new JavaScriptSerializer()。反序列化(YourString)

您可以使用来反序列化该字符串:

string str=
@"var foo = 
  [
    {
        ""bar1"":""value1"",
        ""bar2"":""value2""

    }
]";

JavaScriptSerializer js = new JavaScriptSerializer();
var o = js.Deserialize<Dictionary<string,string>[]>(str.Substring(str.IndexOf('[')));
string str=
@“var foo=
[
{
“bar1”:“value1”,
“bar2”:“value2”
}
]";
JavaScriptSerializer js=新的JavaScriptSerializer();
var o=js.Deserialize(str.Substring(str.IndexOf('[')));
结果:

Dictionary<String,String> (2 items)   

Key    Value 
------ --------
bar1   value1 
bar2   value2 
字典(2项)
关键值
------ --------
bar1值1
bar2值2

我相信你能做到这一点:var foo=new
JavaScriptSerializer()。反序列化(你的字符串);
你从
WebClient
得到的字符串是什么?因为你询问如何解析它,但没有显示它。@I4V字符串是js的输出。与我写的一模一样。@WiS3字符串以“var foo=”开头或者这就是JavaScript中的设置方式?@DStanley字符串以“var foo…”开头,它是纯文本,就像读a.txt.D Stanley一样,我期待这个答案:)但是JavaScript不能用json解析器解析。假设一行像
“bar3”:Math.max(a,b)
@I4V提供的示例没有嵌入代码-我已经用提供的示例测试了我的答案,它是有效的。D Stanley,我知道它是有效的,我只是说,OP正在尝试做一些错误的事情,您的答案适用于发布的示例(非常原始的字符串OP,能够将其传递给json解析器).您对此有何看法?
我有一个包含数组的.js脚本:
。您是否希望您的答案适用于每个包含数组的
js