/// <summary>
/// dataTable转换成Json格式 JSON对应关系 三层数组
/// </summary>
/// <param name="dt">需要转换的表格</param>
/// <returns></returns>
public static string Table2JsonAryAbNormallData(DataTable phenonmenondt, string station)
{
string json = string.Empty;
if (phenonmenondt.Rows.Count <= )
{
return "{\"total\":" + + ",\"meta\":{\"status\":201,\"msg\":\"无数据\"}}";
}
List<Phenomenon_Model> phelist = new List<Phenomenon_Model>();
for (int i = ; i < phenonmenondt.Rows.Count; i++)
{
List<Reason1_Model> reason1list = new List<Reason1_Model>();
Phenomenon_Model phe = new Phenomenon_Model();
phe.id = i;
phe.value3 = phenonmenondt.Rows[i][].ToString();
DataTable reason1dt = SqlHelper.Query(sql语句);
for (int j = ; j < reason1dt.Rows.Count; j++)
{
List<Reason2_Model> reason2list = new List<Reason2_Model>();
Reason1_Model rea1 = new Reason1_Model();
rea1.id = j;
rea1.value4 = reason1dt.Rows[j][].ToString();
DataTable reason2dt = SqlHelper.Query(sql语句);
for (int n = ; n < reason2dt.Rows.Count; n++)
{
Reason2_Model rea2 = new Reason2_Model();
rea2.id = n;
rea2.value5 = reason2dt.Rows[n][].ToString();
reason2list.Add(rea2);
}
rea1.Children = reason2list;
reason1list.Add(rea1);
}
phe.Children = reason1list;
phelist.Add(phe);
} json = Newtonsoft.Json.JsonConvert.SerializeObject(phelist);//序列化对象
json = "{" + "\"data\":" + json + "," + "\"meta\": {\"msg\": \"获取成功\",\"status\": 200}" + "}";
return json;
}
 public class Phenomenon_Model
{
/// <summary>
/// ID编号
/// </summary>
public int id { get; set; }
/// <summary>
/// 现象
/// </summary>
public string value3 { get; set; }
/// <summary>
/// 子节点
/// </summary>
public List<Reason1_Model> Children { get; set; }
}
 public class Reason1_Model
{
/// <summary>
/// 编号ID
/// </summary>
public int id { get; set; }
/// <summary>
/// 原因1
/// </summary>
public string value4 { get; set; }
/// <summary>
/// 子节点
/// </summary>
public List<Reason2_Model> Children { get; set; }
}
 public class Reason2_Model
{
/// <summary>
/// ID
/// </summary>
public int id { get; set; }
/// <summary>
/// Reason2
/// </summary>
public string value5 { get; set; }
}

1层JSON

    List<RefillData_Model> list = new List<RefillData_Model>();//List存数据
DataTable refilldt = fill.GetFacInfo();
for (int j = 0; j < refilldt.Rows.Count; j++)
{
RefillDataFac_Model refill = new RefillDataFac_Model();
refill.action = refilldt.Rows[j]["action"].ToString();
refill.facility = refilldt.Rows[j]["facility"].ToString();
refill.hSerial = refilldt.Rows[j]["Head_serial"].ToString();
refill.so = refilldt.Rows[j]["so"].ToString();
refill.refno = refilldt.Rows[j]["refno"].ToString();
refill.partNum = refilldt.Rows[j]["partno"].ToString();
refill.slot = refilldt.Rows[j]["slot"].ToString();
refill.qty = refilldt.Rows[j]["planqty"].ToString();
refill.Sdte = refilldt.Rows[j]["sdte"].ToString();
refill.stme = refilldt.Rows[j]["stme"].ToString();
refill.reelcut = refilldt.Rows[j]["reelcut"].ToString();
refill.mdte = refilldt.Rows[j]["mdte"].ToString();
refill.mtme = refilldt.Rows[j]["mtme"].ToString();
refill.soseq = refilldt.Rows[j]["soseq"].ToString();
refill.slotserial = refilldt.Rows[j]["SlotSerial"].ToString();
refilldata.Add(refill);
}
string json = JsonConvert.SerializeObject(refilldata);

以上是3层和1层的JSON数组写法 通过NewtonSoftJson 当然也可以用JSONhelper里面的拼接方法 在需要使用灵活的JSON时可以自己拼接。

反序列化

            List<AbNormallReport_Model> datalist = new List<AbNormallReport_Model>();
datalist = Newtonsoft.Json.JsonConvert.DeserializeObject<List<AbNormallReport_Model>>(data);

JSON数组序列化C#方法的更多相关文章

  1. C# Json数组序列化和反序列总结

    1.创建json数组,例: JArray arrFile = new JArray(); arrFile.Add(new JObject() { new JProperty("FilePat ...

  2. curl javaSSm框架中传入json数组的格式方法

    curl与java结合传入get.post,head请求, 比如: curl的地址: curl -l 127.0.0.1:8080/spacobj/core/do?acid=100 -H " ...

  3. 将一个JSON数组[{},{},{}]按一定规则合并到另一个JSON数组[{},{},{}]

    // 将一个JSON数组[{},{},{}]按一定规则合并到另一个JSON数组[{},{},{}] // Object.assign方法的第一个参数是目标对象,后面的参数都是源对象. var list ...

  4. PHP数组缓存:三种方式JSON、序列化和var_export的比较

    使用PHP的站点系统,在面对大数据量的时候不得不引入缓存机制.有一种简单有效的办法是将PHP的对象缓存到文件里.下面我来对这3种缓存方法进行说明和比较. 第一种方法:JSONJSON缓存变量的方式主要 ...

  5. JavaScript的json和Array及Array数组的使用方法

    1.关于json JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于ECMAScript的一个子集.也可以称为数据集和数组类似,能够存数据! //Ar ...

  6. json数组的序列化和反序列化json数组的序列化和反序列化

    如题,我就不多说了,自己看代码的,很好理解 using System; using System.Collections.Generic; using System.Web; using System ...

  7. JS解析json数据并将json字符串转化为数组的实现方法

    json数据在ajax实现异步交互时起到了很重要的作用,他可以返回请求的数据,然后利用客户端的js进行解析,这一点体现出js的强大,本文介绍JS解析json数据并将json字符串转化为数组的实现方法, ...

  8. jquery $.each遍历json数组方法

    <!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en" "http://www.w3.org/ ...

  9. JSON对象与JSON数组的长度和遍历方法

    JSON对象与JSON数组的长度和遍历方法         1.json对象的长度与遍历                 结构:var json={“name”:”sm”,”sex”:”woman”} ...

随机推荐

  1. day 10 作业

    # 2.写函数,接收n个数字,求这些参数数字的和. def sum_func(*args): total = 0 for i in args: total += i return total prin ...

  2. 【转】Chrome开发者工具详解

    https://www.jianshu.com/p/7c8552f08e7a Chrome开发者工具详解(1)-Elements.Console.Sources面 Chrome开发者工具详解(2)-N ...

  3. Zenefits CodeSprint:Knight or Knave

    题意是一堆人,从1到n编号,每个人i说一句话,x.x是正数表示i说x君是个好人,x是负数表示i说x君是坏人.问这个群体中最多能有多少好人,把这种情况用字典序的方式输出(好人用A表示,坏人用B表示),希 ...

  4. Atcoder Beginner Contest 140E(多重集,思维)

    #define HAVE_STRUCT_TIMESPEC#include<bits/stdc++.h>using namespace std;multiset<long long&g ...

  5. nacos作为配置中心动态刷新@RefreshScope添加后取值为null的一个问题

    之前springboot项目常量类如下形式: @Component @RefreshScope//nacos配置中心时添加上 public class Constants { @Value(" ...

  6. 手机wifi的mac地址是什么??

    简单来说,每个能够接入网络的设备,无论是平板.手机.电脑.电视都有一个专门的序号,这个序号就被称为MAC,正常来说可以看做是这款设备的唯一标识,手机里的MAC其实是特指Wi-Fi无线网卡的MAC地址. ...

  7. CSS - 布局流程

    一.为了提高网页制作的效率,布局时通常需要遵守一定的布局流程,具体如下: "版心"(可视区) 是指网页中主体内容所在的区域.一般在浏览器窗口中水平居中显示,常见的宽度值为960px ...

  8. Java知识总结:Java反射机制(用实例理解)

    概念理解: 反射是指一类应用,它们能够自描述和自控制.也就是说,这类应用通过采用某种机制来 实现对自己行为的描述( self-representation )和检测( examination) ,并能 ...

  9. JAVA关于回文判断的实现

    (一). 设计思想: 首先输入字符串,然后判断长度若长度为0或1则输出TRUE若长度大于一则进行判断, 若符合条件则输出TRUE反之输出FALSE. (二)程序源代码 import java.util ...

  10. 《React后台管理系统实战 :三》header组件:页面排版、天气请求接口及页面调用、时间格式化及使用定时器、退出函数

    一.布局及排版 1.布局src/pages/admin/header/index.jsx import React,{Component} from 'react' import './header. ...