为了账号安全,请及时绑定邮箱和手机立即绑定

解析/迭代 Json

解析/迭代 Json

C#
慕的地8271018 2021-07-02 10:00:08
我对用 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
提交
取消
意见反馈 帮助中心 APP下载
官方微信