JSON 常用数据转换

#endregion

    #region Json字符串转换为DataTable 实例方法

    public DataTable JsonToDataTable(json)
    {
       DataTable  dt= ToDataTable(json);
         return dt;
    }

   #endregion

    #region DataTable 转换为Json 字符串
    /// <summary>
    /// DataTable 对象 转换为Json 字符串
    /// </summary>
    /// <param name="dt"></param>
    /// <returns></returns>
    public static string ToJson(this DataTable dt)
    {
        JavaScriptSerializer javaScriptSerializer = new JavaScriptSerializer();
        javaScriptSerializer.MaxJsonLength = Int32.MaxValue; //取得最大数值
        ArrayList arrayList = new ArrayList();
        foreach (DataRow dataRow in dt.Rows)
        {
            Dictionary<string, object> dictionary = new Dictionary<string, object>();  //实例化一个参数集合
            foreach (DataColumn dataColumn in dt.Columns)
            {
                dictionary.Add(dataColumn.ColumnName, dataRow[dataColumn.ColumnName].ToStr());
            }
            arrayList.Add(dictionary); //ArrayList集合中添加键值
        }

        return javaScriptSerializer.Serialize(arrayList);  //返回一个json字符串
    }
    #endregion

    #region Json 字符串 转换为 DataTable数据集合
    /// <summary>
    /// Json 字符串 转换为 DataTable数据集合
    /// </summary>
    /// <param name="json"></param>
    /// <returns></returns>
    public static DataTable ToDataTable(this string json)
    {
        DataTable dataTable = new DataTable();  //实例化
        DataTable result;
        try
        {
            JavaScriptSerializer javaScriptSerializer = new JavaScriptSerializer();
            javaScriptSerializer.MaxJsonLength = Int32.MaxValue; //取得最大数值
            ArrayList arrayList = javaScriptSerializer.Deserialize<ArrayList>(json);
            if (arrayList.Count > 0)
            {
                foreach (Dictionary<string, object> dictionary in arrayList)
                {
                    if (dictionary.Keys.Count<string>() == 0)
                    {
                        result = dataTable;
                        return result;
                    }
                    if (dataTable.Columns.Count == 0)
                    {
                        foreach (string current in dictionary.Keys)
                        {
                            dataTable.Columns.Add(current, dictionary[current].GetType());
                        }
                    }
                    DataRow dataRow = dataTable.NewRow();
                    foreach (string current in dictionary.Keys)
                    {
                        dataRow[current] = dictionary[current];
                    }

                    dataTable.Rows.Add(dataRow); //循环添加行到DataTable中
                }
            }
        }
        catch
        {
        }
        result = dataTable;
        return result;
    }
    #endregion

    #region 转换为string字符串类型
    /// <summary>
    ///  转换为string字符串类型
    /// </summary>
    /// <param name="s">获取需要转换的值</param>
    /// <param name="format">需要格式化的位数</param>
    /// <returns>返回一个新的字符串</returns>
    public static string ToStr(this object s, string format = "")
    {
        string result = "";
        try
        {
            if (format == "")
            {
                result = s.ToString();
            }
            else
            {
                result = string.Format("{0:" + format + "}", s);
            }
        }
        catch
        {
        }
        return result;
    }
   #endregion
时间: 2024-10-25 01:47:32

JSON 常用数据转换的相关文章

再谈json - json常用函数

json常用的函数有JSON.parse().JSON.stringify(),用于json对象和字符串之间的互相转换. 1.JSON.parse() 将 JavaScript 对象表示法 (JSON) 字符串转换为对象. JSON.parse(text [, reviver]) var jsontext = '{"firstname":"Jesper","surname":"Aaberg","phone"

Java 处理json常用代码

本工程代码已上传至资源,如有需要,请自行下载. package com.michael; import static org.junit.Assert.assertEquals; import java.util.ArrayList; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; import net.sf.json.JSONArray; import n

解析json常用几种方式

1.使用Google 的 gson方式解析json,园子里面对json方面的教程都非常多,很多写的都非常不错,借鉴不少,毕竟刚刚研究. gson支持解析的类型还是比较全面的,包括JavaBean,List<JavaBean>,List<String>,Map等,使用起来也是比较方便. 首先配置环境,需要下载相应的jar包, 下面测试使用的版本是2.2.4. 官方下载地址:http://code.google.com/p/google-gson/ gson API:http://go

Json常用的转换

简单记录一下jquery里面的JSON.parse()和JSON.stringify()函数,和js中的eval()函数的用法 1,JSON.parse 函数(常用) 作用:将 JavaScript 对象表示法 (JSON) 字符串转换为对象. 语法:JSON.parse(text [reviver]) 参数: text   必需. 一个有效的 JSON 字符串. reviver 可选. 一个转换结果的函数. 将为对象的每个成员调用此函数. 返回值:一个对象或数组 例子: var json =

json 常用处理 转自他人

import java.util.HashMap; import java.util.List; import java.util.Map; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; //下面是FastJson的简介:常用的方法! //  Fastjson API入口类是com.alibaba.fastjson.J

json常用的注解

json注解: 1.@JsonIgnoreProperties: 此注解是类注解,作用是json序列化时将java bean中的一些属性忽略掉,序列化和反序列化都受影响. 写法将此标签加在model 类的类名上 ,可以多个属性也可以单个属性 //生成json时将name和age属性过滤 @JsonIgnoreProperties({"name"},{"age"}) public class user { private String name; private in

fastjson 操作Json常用格式数据

import java.util.ArrayList;   import java.util.HashMap;   import java.util.List;   import java.util.Map;      import com.alibaba.fastjson.JSON;   import com.alibaba.fastjson.TypeReference;   public class TestMain {  static class Person{              

JSON 的数据转换格式(DataTable或DataSet)

<span style="font-size:18px;">public class DataTableConvertJson { #region dataTable转换成Json格式 /// <summary> /// dataTable转换成Json格式 /// </summary> /// <param name="dt"></param> /// <returns></return

JS 中Json常用操作

转自: https://www.jianshu.com/p/6501b0f3124f 直接定义json var json = {"name": "小明", "age": 12}; console.log(json); json 转 String var str = JSON.stringify(json); console.log(str); String 转 Json json = JSON.parse(str); console.log(js