我有一个 JSON 文件,如下所示,我想删除其中的一行/元素,特别是“FinanceDetails[LoanAmount]”。我该如何用 C# 编写这个代码。
"IntegratorID": "e20a5569-8e63-42ca-9f33-872d826276d0",
"CorrelationID": "00000000-0000-0000-0000-000000000000",
"ProposalID": 0,
"Stage": "DECISION",
"Request": "SendProposal",
"PropertyValues": {
"ExternalReference": "Integrator Reference",
"ProposalType": "Private Individual",
"Dealer[DealerID]": "9344",
"FinanceDetails[Type]": "PCP",
"FinanceDetails[CashDeposit]": "111",
"FinanceDetails[Settlement]": "11",
"FinanceDetails[PartExchange]": "22",
"FinanceDetails[Term]": "72",
"FinanceDetails[APR]": "12.9",
"FinanceDetails[LoanAmount]": "0",
"FinanceDetails[AnnualMileage]": "40000"
}
这是我目前拥有的,但不起作用。
public static void RemoveLineRequest(string fieldName)
{
string sendProposalRequestSuccess = File.ReadAllText(sendProposalJSONFile);
dynamic jsonObj = JsonConvert.DeserializeObject(sendProposalRequestSuccess);
string output = jsonObj["PropertyValues"][fieldName];
string finaloutput = JsonConvert.SerializeObject(output, Formatting.Indented);
File.WriteAllText(sendProposalJSONFile, finaloutput);
}
最佳答案
不要反序列化为动态
,使用JObject
(请参阅
Modifying JSON 文档):
var jsonObject = JsonConvert.DeserializeObject<JObject>(sendProposalRequestSuccess);
var propValues = (JObject)jsonObject["PropertyValues"];
propValues.Remove("FinanceDetails[LoanAmount]");
关于c# - 在测试方法中从 JSON 文件中删除元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73361024/