cjson轉類,cjson解析

本文目錄一覽:

用C#語言將json格式數據轉成json對象

把你的json字元串中的所有的 ”  替換為  “”

比如我要在c#中聲明一個字元串

  “a”:”1″

}

寫法有兩種

1

string json=”{\r\n\”a\”:\”1\”\r\n}」; //因為字元串需要用”” 來定義 所以其中的”要用\”來轉義,而換行則是 \r\n

2

string json=@”{ 

  “”a””:””1″”

}”;

//使用@ 方式定義字元串,這種方式關閉了 \x 這種轉義序列, 所以其中的” 要用另外一個”來轉義  於是就變成了 “”

怎樣將json數據轉換成匿名數組或者泛型對象(c#)

可以考慮用JSON類庫來解析,比如Json.Net

或建立相應實體後用內置的Json反序列化功能來反序列化。

C# 怎麼將json 轉換成 datatable

主要包含兩個方法:

1. 獲取的DataTable 對象 轉換為Json 字元串

2. Json 字元串 轉換為 DataTable數據集合

#region DataTable 轉換為Json字元串實例方法

/// summary

/// GetClassTypeJosn 的摘要說明

/// /summary

public class GetClassTypeJosn : IHttpHandler

{

/// summary

/// 文件名:DataTable 和Json 字元串互轉

/// 版權所有:Copyright (C) Create Family Wealth liangjw

/// 創建標示:2013-08-03

/// /summary

//用法說明實例

public void ProcessRequest(HttpContext context)

{

context.Response.ContentType = “application/json”;

context.Response.Charset = “utf-8”;

HttpRequest req = context.Request;

string method = req[“method”].ToStr().ToLower();

//獲取合同明細列表 DataTable 轉換為Json字元串

if (method == “txtdate”)

{

string json = “”;

BO.MakeContractMx bll = new MakeContractMx();

DataSet ds = bll.GetDataTable();

if (ds.Tables.Count 0)

{

json =ToJson(ds.Tables[0]);

}

context.Response.Write(json);

return;

}

}

public bool IsReusable

{

get

{

return false;

}

}

}

#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)

{

Dictionarystring, object dictionary = new Dictionarystring, 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.DeserializeArrayList(json);

if (arrayList.Count 0)

{

foreach (Dictionarystring, object dictionary in arrayList)

{

if (dictionary.Keys.Countstring() == 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

怎樣用C#把JSON數據轉換為list或數組

引用,在項目中引用

using System.ServiceModel.Web;

using System.Runtime.Serialization;

using System.Runtime.Serialization.Json;

==================

定一個跟Json一樣的類

public class CJsonObj

{

//屬性

}

你的Json是文件,就把這文件讀到流裡面來再轉

string jsonText = System.IO..ReadAllText(Json文件); //這就讀出了文件,並存成了string

ListCJsonObj _Test = new ListCJsonObj(); //建立list

//這個是關鍵對象DataContractJsonSerializer

DataContractJsonSerializer _Json = new DataContractJsonSerializer(_Test.GetType());

//轉碼,把string 轉成byte[]數組

byte[] _Using = System.Text.Encoding.UTF8.GetBytes(_JsonText);

//開個流,把數組加進去

System.IO.MemoryStream _MemoryStream = new System.IO.MemoryStream(_Using);

_MemoryStream.Position = 0; //流從0開始

//就這句,讀到List里了

_Test = (ListTest)_Json.ReadObject(_MemoryStream);

//你的JSON文件格式必須與你定的類一致,你懂得

c# 將 json 數據轉換成 List 怎麼轉換,json 數據格式如下圖:

        /// summary

        /// JSON格式數組轉化為對應的ListT

        /// /summary

        /// typeparam name=”T”/typeparam

        /// param name=”JsonStr”JSON格式數組/param

        /// returns/returns

        public static ListT JSONStringToListT(string JsonStr)

        {

            JavaScriptSerializer Serializer = new JavaScriptSerializer();

            //設置轉化JSON格式時欄位長度

            ListT objs = Serializer.DeserializeListT(JsonStr);

            return objs;

        }

        

        //調用方法

        ListDBTD_SHARE TD_Share = new ListDBTD_SHARE();

        TD_Share = JSONStringToListDBTD_SHARE(JsonStr);

你構造一個類 裡面有carLengthMin等3個成員

我這裡是DBTD_SHARE 

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/310173.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2025-01-04 19:32
下一篇 2025-01-04 19:32

相關推薦

發表回復

登錄後才能評論