System.InvalidOperationException:无法访问

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


这是 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"

  }

]


12345678_0001
浏览 94回答 1
1回答

森栏

你的内部foreach遍历每个 KeyValuePairin items。app是键KeyValuePair<String, JToken>所在的位置,值是包含. 你正在做你的和索引一层太深了。"username"JToken"root"["username"]["password"]由于您已经知道需要哪些键,因此根本不需要迭代items。直接索引items即可:&nbsp; &nbsp; foreach (JObject items in objects)&nbsp; &nbsp; {&nbsp; &nbsp; &nbsp; &nbsp; var username = (String)items["username"];&nbsp; &nbsp; &nbsp; &nbsp; var password = (String)items["password"];&nbsp; &nbsp; }
打开App,查看更多内容
随时随地看视频慕课网APP