c# - 从 C# 中的 JSON 字符串中删除标记
问题描述
{"InvPhy":[{"OpID":234,"RtID":null,"AccID":5965,"LocID":7223,"DlvrLocID":7738,"InvAccID":31345,"FscDt":"2019-05-16T00:00:00","TrDT":"2019-09-19T18:13:17+05:30","Schdl":true,"CntType":661,"DvcID":56000,"SvcUID":0,"Dtls":[{"ProdID":48456,"ProdPkgID":84947,"TrDT":"2019-09-19T18:13:09+05:30","Qty":2},{"ProdID":32382,"ProdPkgID":61198,"TrDT":"2019-09-19T18:13:17+05:30","Qty":3}]}]}
我有这个 JSON,我需要删除属性 RtID。
JObject jo = JObject.Parse(jsonResult);
jo.Property("RtID").Remove();
jsonResult = jo.ToString();
这不起作用...请帮助
解决方案
一种选择如下:
考虑您的对象具有以下 C#deserialize
类JSON
:
public class Dtl
{
public int ProdID { get; set; }
public int ProdPkgID { get; set; }
public DateTime TrDT { get; set; }
public int Qty { get; set; }
}
public class InvPhy
{
public int OpID { get; set; }
//public object RtID { get; set; }
public int AccID { get; set; }
public int LocID { get; set; }
public int DlvrLocID { get; set; }
public int InvAccID { get; set; }
public DateTime FscDt { get; set; }
public DateTime TrDT { get; set; }
public bool Schdl { get; set; }
public int CntType { get; set; }
public int DvcID { get; set; }
public int SvcUID { get; set; }
public List<Dtl> Dtls { get; set; }
}
public class RootObject
{
public List<InvPhy> InvPhy { get; set; }
}
您可以只删除该RtID
属性,而不会删除该属性deserialize
的值。
这是一个示例,说明您如何deserialize
对JSON
对象进行操作。 Deserializing
到一个对象还可以更容易地在其余代码中使用。
RootObject account = JsonConvert.DeserializeObject<RootObject>(json);
推荐阅读
- php - 在 laravel 中如何在方法中传递请求实例
- sql-server - Terada 中的 BIGINT 到 INT 转换
- javascript - 如果当前显示虚拟键盘,则提交表单按钮需要在移动设备上单击两次
- gradle - 使用 Gradle 配置 Swagger 代码生成器。提供的 Gradle 脚本如何工作?
- java - 有没有办法使用意图将任何类型的文件附加到电子邮件中?
- javascript - 使用 .filter 从数组中删除一个项目并返回新数组
- c# - 如何在 .Net C# Windows 窗体中将文件上传到 Firebase 存储?
- python - 如何增强脚本以从多个 CSV 文件中查找
- c# - 为什么这个属性没有在我的 mvc 项目中被序列化?
- pandas - pd.datetime 没有正确索引