读取JSON文件并 排序,分组,

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了读取JSON文件并 排序,分组,相关的知识,希望对你有一定的参考价值。

读取.json文件

public string GetFileJson(string filepath)
{
string json = string.Empty;
using (FileStream fs = new FileStream(filepath, FileMode.Open, System.IO.FileAccess.Read, FileShare.ReadWrite))
{
using (StreamReader sr = new StreamReader(fs, Encoding.GetEncoding("gb2312")))
{
json = sr.ReadToEnd().ToString();
}
}
return json;
}


返回.json文件

public ActionResult GridPageListJson()
{
try
{
string filepath = Server.MapPath("~/Views/OrderInfoKJ/json1.json");
string json = GetFileJson(filepath);
return Content(json);
}
catch (Exception ex)
{
return null;
}
}

 

 

//--------------------------------------JSON排序 a.properties[field]根据排序的ID
var JsonSort = p.sort(function (a, b) { return a.properties[field] > b.properties[field] ? 1 : -1; });

 


----------------------------------------JSON分组
///json 数组 根据某一字段相同名称进行分组
var arr = eval("(" + da + ")").features;

var map = {},
dest = [];
for (var i = 0; i < arr.length; i++) {
var ai = arr[i];

if (ai.properties[str] == "" || ai.properties[str] == "0" || ai.properties[str] == null || ai.properties[str] == 0 || ai.properties[str] == undefined || ai.properties[str] == false) {
ai.properties[str] = "什么都没有";

}

if (!map[ai.properties[str]]) { //判断没有出现这个字段的数组

dest.push({
id:ai.properties[str],
data: [ai]
});
map[ai.properties[str]] = ai; ///总的分组
} else { ///已经出现过的数组进行循环遍历到已经出现的数组中

for (var j = 0; j < dest.length; j++) {
var dj = dest[j];
///把相同的元素添加到data里面去
if (dj.id == ai.properties[str]) {
dj.data.push(ai);
break;
}
}
}

} console.log(dest)
















































以上是关于读取JSON文件并 排序,分组,的主要内容,如果未能解决你的问题,请参考以下文章

Linux json文件(排序去重)

用于读取文件、排序和打印重复记录及其标识号的 Bash 脚本

如何对 JSON 项目进行排序/分组

Mysql 分组并排序

JAVA读取文件 排序 写出文件

SQL 分组统计并排序