C# 字符串删除 JSON 中的前 2 个对象.字符串化
本文关键字:字符串 对象 删除 JSON | 更新日期: 2023-09-27 17:56:37
我有一个MVC控制器,它接受一个json stringify对象,如下所示:
[{'"name'":'"Name'",'"value'":'"1'"},
{'"name'":'"Mobile'",'"value'":'"2'"},
{'"name'":'"Gender'",'"value'":'"Male'"},
{'"name'":'"Birthdate'",'"value'":'"2016-07-13'"},
{'"name'":'"Address'",'"value'":'"3'"}]
我想使用 c# 中可用的字符串函数删除前 2 个对象,如下所示:
[{'"name'":'"Gender'",'"value'":'"Male'"},
{'"name'":'"Birthdate'",'"value'":'"2016-07-13'"},
{'"name'":'"Address'",'"value'":'"3'"}]`
如何以最简单的方式执行此操作?
我认为它会起作用。
var jArr = JArray.Parse(json);
jArr.Descendants().OfType<JProperty>()
.Where(p => p.Name == "Name" || p.Name == "Mobile")
.ToList()
.ForEach(att=>att.Remove());
var newJson = jArr.ToString();
或
var jType = new[] { new{Gender="", Birthdate="", Address=""} };
var newJson = JsonConvert.SerializeObject(
JsonConvert.DeserializeAnonymousType(json, jType));
使用字符串函数,您可以执行以下操作:
string s = "[{'"name'":'"Name'",'"value'":'"1'"}, {'"name'":'"Mobile'",'"value'":'"2'"}, {'"name'":'"Gender'",'"value'":'"Male'"}, {'"name'":'"Birthdate'",'"value'":'"2016-07-13'"}, {'"name'":'"Address'",'"value'":'"3'"}]";
string[] splitted = s.Split('{');
s = s.Replace("{" + splitted[1], "");
s = s.Replace("{" + splitted[2], "");
输出:
[{"name":"Gender","value":"Male"},
{"name":"Birthdate","value":"2016-07-13"},
{"name":"Address","value":"3"}]