c# - 将排序后的 json 添加回 json 对象
问题描述
如何将排序的 json('sortedJson') 添加回下面的整个 json('jObj')?或者是否有其他方法可以执行以下操作?
Json:
{
"Information": [
{
"FieldName": "Area04",
"Draft": "Unknown",
},
{
"FieldName": "Area02",
"Draft": "Unknown",
},
{
"FieldName": "Area01",
"Draft": "Unknown",
},
{
"FieldName": "Area03",
"Draft": "Unknown",
}
],
"OtherInfo": []
}
Code:
static void Main(string[] args)
{
string _json = "{'Information': [{'FieldName': 'Area04','Draft': 'Unknown'},{'FieldName': 'Area02','Draft': 'Unknown'},{'FieldName': 'Area01','Draft': 'Unknown'},{'FieldName': 'Area03','Draft': 'Unknown'}],'OtherInfo': []}";
var jObj = JsonConvert.DeserializeObject<Informat>(_json);
var test1 = jObj.Information.OrderBy(x => x.FieldName);
var sortedJson = JsonConvert.SerializeObject(test1);
//Add code to merge 'sortedJson' to '_json'
}
Class:
public class Informat
{
public Information[] Information { get; set; }
public object[] OtherInfo { get; set; }
}
public class Information
{
public string FieldName { get; set; }
public string Draft { get; set; }
}
我不知道如何将排序的 json 添加回整个 json。你能帮我解决这个问题吗?
解决方案
这是一个使用示例Array.Sort()
var jObj = JsonConvert.DeserializeObject<Informat>(_json);
Array.Sort(jObj.Information, (x, y) => x.FieldName.CompareTo(y.FieldName));
var sortedJson = JsonConvert.SerializeObject(jObj);
推荐阅读
- r - 在 dplyr 中使用特定组合过滤
- php - 将数据库结果表转换为聚合相似值的有意义的输出
- java - 尝试查找客户时,在“类 [rewards_grails.Customer] 上的方法已在 Grails 应用程序之外使用”中出现错误
- vue.js - 像 Angular 一样在 Vue 中创建服务
- java - Mockito thenReturn() 返回空值
- reactjs - 当运行 this._login `this.navigation` 是 `undefined`
- javascript - preventDefault() 无法处理表单请求
- java - 在另一个 Runnable 实现类中传递 Runnable 实例,其中前者的 run() 方法需要后者的引用
- php - 重写规则 htaccess 让我发疯
- excel - 如何避免使用“插入复制的单元格”