我對用 C# 解析 Json 還很陌生,我遇到了一個小問題,我無法解決。我的數據看起來像這樣:{ "languages": { "ja_lang": { "data": { "name": "Japanese" }, "files": [["ja", "Japanese File", "lang_ja.txt"]] }, "en_lang": { "data": { "name": "English" }, "files": [["en", "English File", "lang_en.txt"]] } }}現在我想迭代語言中的項目,只使用對象名稱以“ja_”開頭的項目(在這種情況下,它只能使用“ja_lang”而忽略“en_lang”),然后提取里面的名稱數據和文件中的“lang_ja.txt”。為了在 C# 中解析 Json,我下載了 Newtonsoft.Json 庫并想出了這個:dynamic json_obj = JsonConvert.DeserializeObject("json string");// when debugging language holds { "ja_lang": { "data": { "name": "Japanese" }, "files": [["ja", "Japanese File", "lang_ja.txt"]] } }foreach (var language in json_obj.languages){ // not sure how i can access the object-name /*if(!language.StartsWith("ja_")) continue;*/ // Exception: 'Newtonsoft.Json.Linq.JProperty' does not contain a definition for 'data' - Not sure why it is treated as a property? var name = language.data.name; var file = language.files[2];}對于這個可能很愚蠢的問題,我很抱歉,但我一直試圖將其轉換為不同類型并在網上搜索解決方案,但我就是想不通。所以如果有人能幫我解決這個問題,我會非常高興。
解析/迭代 Json
慕的地8271018
2021-07-02 10:00:08