我必须使用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"
}
任何答案都将受到高度赞赏。
答案 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作为类