源返回json:
{
"Result": {
"AccName": "New 2018-05-08 11:22:44",
"BeginTime": "1970-01-01T00:00:00",
"EndTime": null,
"MaxDrawDownRate": 0.0,
"AccountCorporation": "",
"YearProfitPrecentage": 0.0,
"CreateUserName": "MatrixUser",
"HasDataType": "期货,股票",
"DataTypes": [
{
"Value": "8",
"Text": "期货",
"Name": null
},
{
"Value": "1",
"Text": "股票",
"Name": null
}
],
"SumAmount": 2000000.0,
"CapitaleAmount": 2000000.0,
"Cash": 0.0
},
"Head": {
"Message": "获取成功",
"Code": "200",
"CallTime": "2018-05-24 15:19:04"
}
}
现在前端不需要DataTypes这个节点数据,需要在后台移除掉,将此json作为变量json传入方法JObject.Parse(json)
处理代码:
//移除某个属性,以不返回该数据
JObject jobject = JObject.Parse(json);
JObject tokenselect = jobject.SelectToken("Result") as JObject;
tokenselect.Remove("DataTypes");
完整的代码
using Newtonsoft.Json.Linq;
public ActionResult Detail(int id)
//待处理的josn字符串
string json="";
//移除某个属性,以不返回该数据
JObject jobject = JObject.Parse(json);
JObject tokenselect = jobject.SelectToken("Result") as JObject;
tokenselect.Remove("DataTypes");
return Json(tokenselect);
}
var skuListJson=[{"ProductCategorySysNo":"467011276116070400","MalfunctionsSysNo":"467011100731248640","PropertyValueSysNos":"467011331313111040,467011331510243328,467011332495904768","SysNo":"467011332256829440","Price":2500.00},{"ProductCategorySysNo":"467011276116070400","MalfunctionsSysNo":"467011100731248640","PropertyValueSysNos":"467011331313111040,467011331510243328,467011331845787648","SysNo":"467011331208253440","Price":2000.00},{"ProductCategorySysNo":"467011276116070400","MalfunctionsSysNo":"467011095232516096","PropertyValueSysNos":"467011326095396864,467011326493855744,467011330340032512","SysNo":"467011330189037568","Price":0.00}];
Newtonsoft.Json.Linq移除對象中不需要的屬性或字段
JArray對應的是集合,JObject對應一條記錄
//list是一個C#List<T>對象泛型集合
JArray jArray = JArray.FromObject(list);
//方式二:這樣也行
//JArray jArray =JArray.Parse(skuListJson);
foreach (JObject item in jArray)
{
//移除屬性SysNo、ProductCategorySysNo
item.Remove("SysNo");
item.Remove("ProductCategorySysNo");
}
//最後在將jArray序列化為json字符串
string skuListJson = JsonConvert.SerializeObject(jArray);