[英]How to parser JavaScript multidimensional array to c# array?
JavaScript數組示例:
var array_1 = [["string 1", 2013, "string 2"], "string 3", ["string 4", , "string 5"]];
/* array_1[0][2] = "string 2" */
var array_2 = [1, , ["string 1", "string 2"]];
/* array_2[0][0] = 1 */
我需要將像這樣的JS數組解析為c# jagged array
或any other object
可以通過index輕松按功能訪問每個子字符串的any other object
:
1
=> "1"
) null
變為""
(長度= 0的字符串)。 你能幫我怎么做嗎? 非常感謝你!
使用Json.NET
// using
using Newtonsoft.Json.Linq;
string JSarray_1 = @"[[""string 1"", 2013, ""string 2""], ""string 3"", [""string 4"", , ""string 5""]]";
JObject j = JObject.Parse("{\"j\":" + JSarray_1 + "}");
MessageBox.Show((string)j["j"][0][2]); // "string 2"
請參閱C#語言文檔: “多維數組(C#)”
string[,] items = new string[,] {{"string 1","string 2"},...};
string[][] items = new string[3][];
items [0] = new string[2];
items [1] = new string[1];
items [2] = new string[2];
items[0][0] = "string1";
items[0][1] = "string3";
items[1][0] = "string4";
items[2][0] = "string5";
items[2][1] = "string6";
要么
string[][] items = new string[][]
{
new string[] {"string1", "string3"},
new string[] {"string4"},
new string[] {"string5", "string6"}
};
如果需要將javascript數組解析為c#數組,則可以將Javascript數組序列化為JSON,然后將JSON反序列化為C#數組。
以前,您需要進行一次轉換:在Javascript數組表示形式中將“”替換為null作為字符串。
然后,您可以進行如下操作:
var JSArrayString = @"{"array_1": [["string 1", 2013, "string 2"], "string 3", ["string 4", null, "string 5"]]}";
var CSharpDict = SomeJSONLibrary.Deserialize(JSString);
var CSharpArray = CSharpDict["array_1"];
var myItem = CSharpArray[0][2];
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.