C# 在c中从Json中删除属性
我有一个Json字符串,我想删除一些属性 这是我的字符串,我想删除数据的值:C# 在c中从Json中删除属性,c#,.net,json,C#,.net,Json,我有一个Json字符串,我想删除一些属性 这是我的字符串,我想删除数据的值: "dev1": { "serial": 123, "channels": { "1": { "humidity": { "parameters": {}, "data": [ [ **-3.0, -4.0** ]
"dev1": {
"serial": 123,
"channels": {
"1": {
"humidity": {
"parameters": {},
"data": [
[
**-3.0,
-4.0**
]
]
},
"temprature": {
"parameters": {},
"data": [
[
**-3.0,
-4.0**
]
],
"weHadAlarmed": false
},
"channelName": "CH1"
},
....
我不知道您的json的其余部分会是什么样子,但是使用Newtonsoft.json.net,类似这样的东西就可以了
var json = "{ \"serial\": 123, \"channels\": { \"1\": { \"humidity\": { \"parameters\": {}, \"data\": [ [ -3.0, -4.0 ] ] }, \"temprature\": { \"parameters\": {}, \"data\": [ [ -3.0, -4.0 ] ], \"weHadAlarmed\": false }, \"channelName\": \"CH1\" } } }";
var job = JObject.Parse(json);
job.SelectToken("channels").SelectToken("1").Values().ToList().ForEach(chan =>
{
if(chan.GetType() == typeof(JObject) && chan["data"] != null)
{
// empty array
chan["data"] = new JArray();
// or set it to null
//chan["data"] = null;
}
});
string newJsonStringWouldBe = Newtonsoft.Json.JsonConvert.SerializeObject(job);