簡體   English   中英

將數組從Java腳本傳遞到C#

[英]Passing Array from Javascript to C#

我有一個包含數組的.js腳本:

js的輸出如下:

var foo=
[
    {
        "bar1":"value1",
        "bar2":"value2"
        // And so on...            
    }
]

我無權訪問js源,因此我無法輸出為JSON和反序列化。

我只能使用WebClient將其作為字符串獲取,但是我如何解析它並創建數組/字典並在C#中對其進行處理?

您應該考慮調用WebClient.DownloadString 然后使用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().Deserialize<List<YourModelHere>>(YourString);

您可以使用JavaScriptSerializer反序列化該字符串:

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

    }
]";

JavaScriptSerializer js = new JavaScriptSerializer();
var o = js.Deserialize<Dictionary<string,string>[]>(str.Substring(str.IndexOf('[')));

結果:

Dictionary<String,String> (2 items)   

Key    Value 
------ --------
bar1   value1 
bar2   value2 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM