我试图在C#中解析JSON。我也试过堆栈溢出的方式。
我服务的JSON数据是这样的:
[
{
"CamsPassword":"abc",
"CamsUserName":"123"
},
{
"CamsPassword":"pucit",
"CamsUserName":"556"
}
]
我在堆栈溢出时发现的帖子有不同的JSON格式。我遵循了该代码,但获得了异常而无法解决它。
我在项目中使用Newtonsoft.Json.Linq
命名空间。它说Invalid JavaScript property identifier character: ". Path '[1]', line 8, position 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);
}
}
}
答案 0 :(得分:0)
正如@DrKoch在评论中所说,为什么不使用Json.Net中的Deserialize
方法?
你需要一个对象
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);