1

Json 文字列を JObject にシリアル化する次のコード例 (Newtonsoft Json.NET を使用した C#) があります。

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"

ありがとう!

4

1 に答える 1