C# 未处理JsonReaderException
我正在尝试用C解析JSON。我还尝试了我在堆栈溢出中找到的方法 我的服务的JSON数据如下:C# 未处理JsonReaderException,c#,json,C#,Json,我正在尝试用C解析JSON。我还尝试了我在堆栈溢出中找到的方法 我的服务的JSON数据如下: [ { "CamsPassword":"abc", "CamsUserName":"123" }, { "CamsPassword":"pucit", "CamsUserName":"556" } ] 我在stack overflow上找到的帖子有不同的JSON格式。我遵循了该代码,但遇到异常,无法解决它
[
{
"CamsPassword":"abc",
"CamsUserName":"123"
},
{
"CamsPassword":"pucit",
"CamsUserName":"556"
}
]
我在stack overflow上找到的帖子有不同的JSON格式。我遵循了该代码,但遇到异常,无法解决它
我在项目中使用Newtonsoft.Json.Linq名称空间。它表示无效的JavaScript属性标识符字符:。路径“[1]”,第8行,位置15
这是我的密码:
static void Main(string[] args)
{
var json = System.IO.File.ReadAllText(@"E:\test.json");
var objects = JArray.Parse(json); // parse as array
foreach (JObject root in objects)
{
foreach (KeyValuePair<String, JToken> app in root)
{
var pass = (String)app.Value["CamsPassword"];
var un = (String)app.Value["CamsUserName"];
Console.WriteLine(pass);
Console.WriteLine(un);
}
}
}
正如@DrKoch在评论中所说的,为什么不使用Json.Net中的反序列化方法呢 你需要一个物体
public class CamsObject
{
public string CamsPassword { get; set; }
public string CamsUserName { get; set; }
}
我们走吧:
var json = System.IO.File.ReadAllText(@"E:\test.json");
var camsObjects = JsonConvert.DeserializeObject<CamsObject[]>(json);
你调试过代码吗?@JimAho它在var object=JArray.Parsejson处中断;明文密码?没什么好主意…@RabiaMehmood在运行JArray.Parsejson;之前检查json的值;。它可能不是您所想的。您不应该解析为对象。让Json.Net完成工作,并直接反序列化到类/数组中