我有以下代码示例(使用 Newtonsoft Json.NET 的 C#)将 Json 字符串序列化为 JObject:
var obj = JObject.Parse("{\"F01\" : \"f01\", " +
"\"F02\" : \"f02\", " +
"\"L01\" : [" +
"{" +
"\"L01F01\" : \"l01f01\", " +
"\"L01F02\" : \"l01f02\"" +
"}, " +
"{" +
"\"L01F01\" : \"l01f01\", " +
"\"L01F02\" : \"l01f02\"" +
"}, " +
"{" +
"\"L01F03\" : \"l01f03\" " +
"}, " +
"{" +
"\"L01F03\" : \"l01f03\", " +
"\"L01L02\" : [" +
"{" +
"\"L01L02F01\" : \"l01l02f01\"" +
"}" +
"]" +
"}" +
"]" +
"}");
请注意,JSON 具有动态结构,其中并非数组中的所有项目都具有相同的名称和属性。
我制作了以下 JToken:
var test01 = obj["F01"];
var test02 = obj["L01"][0]["L01F01"];
var test03 = obj["L01"][3]["L01L02"][0]["L01L02F01"];
我想知道是否有人知道以类似于以下方式获取测试变量的“路径”的任何方法:
GetPathOf(test01) => "F01"
GetPathOf(test02) => "L01[0].L01F01"
GetPathOf(test03) => "L01[3].L01L02[0].L01L02F01"
谢谢!