使用json.net解析JSON c#

时间:2017-05-01 15:35:04

标签: c# json json.net

我必须使用c#使用 newtonsoft.net 解析JSON。我尝试了很多代码,但它们没有用。

{
    "tableId": 1,
    "userId": 12,
    "branchId": 2,
    "cart": [{
        "itemId": 12,
        "itemname": "Paneer butter masala",
        "qty": "1",
        "price": "2500",
        "customise": [{
            "name": "fruit boul",
            "id": 1,
            "price": "25"
        }, {
            "name": "fruit boul",
            "id": 1,
            "price": "25"
        }],
        "comment": "",
        "linetotal": "2550"
    }, {
        "itemId": 34,
        "itemname": "Paneer butter masala",
        "qty": "1",
        "price": "2500",
        "customise": [{}],
        "comment": "",
        "linetotal": "2500"
    }],
    "total": "5050"
}

任何答案都将受到高度赞赏。

2 个答案:

答案 0 :(得分:1)

步骤1.制作一些模型(或者如果你愿意的话,使用Plain Old C#Classes)将你的json反序列化为(由http://json2csharp.com/生成) - 这通常更容易使用json:< / p>

public class Customise
{
    public string name { get; set; }
    public int id { get; set; }
    public string price { get; set; }
}

public class Cart
{
    public int itemId { get; set; }
    public string itemname { get; set; }
    public string qty { get; set; }
    public string price { get; set; }
    public List<Customise> customise { get; set; }
    public string comment { get; set; }
    public string linetotal { get; set; }
}

public class TableData
{
    public int tableId { get; set; }
    public int userId { get; set; }
    public int branchId { get; set; }
    public List<Cart> cart { get; set; }
    public string total { get; set; }
}

步骤2.通过NuGet包管理器

将Json.NET依赖项添加到项目中

步骤3.反序列化您的JSON字符串,以获取设置了所有值的对象实例(我将您的根对象命名为TableData,这显然可以更改):

var data = JsonConvert.DeserializeObject<TableData>(jsonString);

现在所有的json数据都已在data对象中设置。

答案 1 :(得分:0)

你应该使用Newtonsoft.Json.JsonConvert.DeserializeObject这里是一个样本

var jsonFilePath = path to your file;

var myObject = Newtonsoft.Json.JsonConvert.DeserializeObject(System.IO.File.ReadAllText(jsonFile));

如何自动创建具有json数据的正确类?

如果您不想使用json数据手动创建正确的类,可以选择所有json文本,并在Visual Studio中按照以下步骤操作:

  

编辑&gt;选择性粘贴&gt;粘贴为Json作为类

enter image description here