【问题标题】:Removing a parent Node from a flattened json response从扁平化的 json 响应中删除父节点
【发布时间】:2019-07-17 16:14:34
【问题描述】:

我有一个这样的扁平化 json 响应:

"data.Applicant.Age", "0"
"data.Applicant.IsInsured", "True"

我希望能够使用 C# 从扁平化集合中删除 data。 我的预期结果应该是这样的:

"Applicant.Age","0"
"Applicant.IsInsured","True"

【问题讨论】:

  • 请您出示您的 JSON 对象(以上不是 JSON)。另外,您的意思是要获取一个 JSON 字符串,并返回一个从 Applicant 而不是 data 开始的新 JSON 字符串?
  • 是的@John 上面的响应是扁平化 json 的结果
  • 所以您实际上有一个字符串,并且您想创建另一个 JSON 格式的字符串(包括大括号和没有数据部分的键)?你想得到的最后是一个字符串吗?
  • 得到想要的输出格式后,你打算如何处理新的 JSON 字符串?
  • 简单的正则表达式替换怎么样?

标签: c# json json.net asp.net-core-webapi


【解决方案1】:
var input = @"""Applicant.Age"",""0""
""Applicant.IsInsured"",""True""";  // this is a string containing Environment.Newline
var lines = input.Split(new string[] { Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries);
var newLines = new List<string>();
string output;
foreach (var line in lines)
{     
    var key = line.Split(',')[0].Trim();
    var value = line.Split(',')[1].Trim();
    key = key.Substring(6);
    var newLine = string.Join(":", key, value);
    newLines.Add(newLine);
    Console.WriteLine(newLine);
}

此代码将您的输入(包含两行的字符串)转换为输出(包含两行且每行没有data. 部分的字符串。

【讨论】:

    猜你喜欢
    • 2021-08-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-02
    • 1970-01-01
    相关资源
    最近更新 更多