我有一个Json字符串,我想删除一些属性。
这是我的字符串,我想删除data
的值:
"dev1": {
"serial": 123,
"channels": {
"1": {
"humidity": {
"parameters": {},
"data": [
[
**-3.0,
-4.0**
]
]
},
"temprature": {
"parameters": {},
"data": [
[
**-3.0,
-4.0**
]
],
"weHadAlarmed": false
},
"channelName": "CH1"
},
....
答案 0 :(得分:1)
我不知道你的json的其余部分是什么样的,但是使用Newtonsoft.Json(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);