我对用 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];}对于这个可能很愚蠢的问题,我很抱歉,但我一直试图将其转换为不同类型并在网上搜索解决方案,但我就是想不通。所以如果有人能帮我解决这个问题,我会非常高兴。
2 回答
- 2 回答
- 0 关注
- 138 浏览
添加回答
举报
0/150
提交
取消