繁体   English   中英

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

[英]how to deserialize a custom json to c# object

我使用 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

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

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

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

定义此类型,您将能够使用以下方法反序列化它:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM