JsonReaderException未处理

时间:2015-02-01 10:44:44

标签: c# json

我试图在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);

        }
    }
}

1 个答案:

答案 0 :(得分:0)

正如@DrKoch在评论中所说,为什么不使用Json.Net中的Deserialize方法?

Working Demo

你需要一个对象

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);