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

System.InvalidOperationException:无法访问

System.InvalidOperationException:无法访问

C#
12345678_0001 2022-11-22 16:01:11

我试图解决这个问题,但找不到任何解决方案。


这是 C# 代码。


string unraw_json = reader.ReadToEnd();


            var objects = JArray.Parse(unraw_json);


            foreach (JObject items in objects)

                foreach (KeyValuePair<String, JToken> app in items)

                {

                    var appName = app.Key;

                    var username = (String)app.Value["username"];

                    var password = (String)app.Value["password"];

var appName = "username"当我到达(第 9 行)时进行调试时var username,它会抛出该错误。


我已经尝试将 json 包含在大括号内,但它在var appName. 我也尝试过使用不同的解析和不同的库,但我想使用 Newtonsoft.Json.Linq 库。谁能帮我吗?谢谢。


这是 JSON 文件:


[

  {

    "username": "root",

    "password": "toor"

  }

]


查看完整描述

1 回答

?
森栏

TA贡献1519条经验 获得超5个赞

你的内部foreach遍历每个 KeyValuePairin items。app是键KeyValuePair<String, JToken>所在的位置,值是包含. 你正在做你的和索引一层太深了。"username"JToken"root"["username"]["password"]


由于您已经知道需要哪些键,因此根本不需要迭代items。直接索引items即可:


    foreach (JObject items in objects)

    {

        var username = (String)items["username"];

        var password = (String)items["password"];

    }


查看完整回答
反对 回复 2022-11-22
  • 1 回答
  • 0 关注
  • 12 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信