如何将自定义json反序列化为c#对象

9njqaruj  于 2021-08-20  发布在  Java
关注(0)|答案(2)|浏览(330)

我使用newtonsoft.json来反序列化这个json

{
    "pdf_info": [
        [
         -> this is a object {
           "order_serial_no": "xxxxx",
           // more properties
         },
        -> this is an array ["xxxx", "x"]
        ]
    ]
}

在java中,我可以使用以下代码来实现这一点。

JSONArray pdfArray = JSONArray.parseArray(pdf_info);
String pdfArrayOne = pdfArray.getString(0);
JSONArray jsonArray = JSONObject.parseObject(pdfArrayOne, JSONArray.class);
String jsonData = jsonArray.getString(0);
Pdf pdf = JSONObject.parseObject(jsonData, Pdf.class);

那么,如何用newtonsoft.json反序列化这个json呢

ifmq2ha2

ifmq2ha21#

显然(删除注解后)这将是对象的c#类(将json复制到剪贴板->在visual studio中的“编辑->粘贴特殊->将json粘贴为类”-查看更多信息)

public class Rootobject
{
  public object[][] pdf_info { get; set; }
}

定义此类型,您可以使用以下命令对其进行反序列化:

Newtonsoft.Json.JsonConvert.DeserializeObject<Rootobject>(System.IO.File.ReadAllText(fileName));
qc6wkl3g

qc6wkl3g2#

首先->阅读文档。
第二: JObject data = JObject.Parse(jsonText); // deserialize to dict-like object

相关问题