json與DataTable相互轉換

2022-09-15 10:27:11 字數 2906 閱讀 6935

首先我們看看 newtonsoft.json.jsonconvert 是怎麼完成的:

datatable table = new

datatable();

table.columns.add("id

");table.columns.add(

"name");

table.columns.add(

"url");

table.rows.add("1

", "

zhengdjin

", "

");table.rows.add("2

", "

生活資訊網

", "

"); api:

//序列化

string api_s=newtonsoft.json.jsonconvert.serializeobject(table);

console.writeline(api_s);

//反序列化

datatable api_table = newtonsoft.json.jsonconvert.deserializeobject(api_s, typeof(datatable)) as

datatable;

console.readline();

實現的方式相當簡單,微軟都幫我處理掉那些繁雜的操作,那我們來還原將datatable轉換為json格式的情景:

///

///json基類

/// public

abstract

class ijson";

//////

行分割字元

/// private

char _rowsp = ','

;

//////

列分割字元

/// private

char _columnsp = ','

;

//////

行分割字元

/// public

char

rowsplit

set

}//////

列分割字元

/// public

char

columnsplit

set

}//////

行資訊區域塊表示方式

/// public

string

rowinfo

set

}//////

預設json轉化引數格式

/// public ijson() : this('

,', '

,', "{}"

)

public ijson(char rsplit, char csplit, string

rinfo)

//////

轉化為json物件

/// ///

物件型別

///引數 ///

public

abstract

string tojson(t t);

//////

jsaon轉化物件

/// ///

jsaon字元

///物件 public

abstract t toobject(string

json);

}

接下來定義乙個jsontodatatable 繼承json基類,然後實現 tojson(t t) 將datatable轉換為json

///

///datatable轉化為json物件

/// ///

引數型別

///引數 ///

public

override

string tojson(t t)

" : "

\"\"

") +columnsplit.tostring();

}head =head.trimend(columnsplit);

foreach (datarow dr in

table.rows)

return jsonbuilder.tostring().trim(rowsplit) + "]"

; }

到這裡已經完成了datatable轉換為json ,現在還差個將json轉化為datatable,這個方法相對難度比datatable轉換json稍微。實現這個方法過程中我們得使用正規表示式來獲取資料(可參考asp.net如何加快頁面載入(三)——**正則應用)。

//////

json轉化為datatable

/// ///

json變數

///datatable

public

override datatable toobject(string

json)

//繫結資料

datarow dr;

string

value;

foreach (match m in

matches)

dr[mc.value] = regex.replace(value, "

\"[" + columnsplit.tostring() + rowinfo[1].tostring() + "

]", ""

).todesspecial();

}table.rows.add(dr);

}return

table;

}

到這裡完成了json 與datatable互轉的功能。

json與datatable的相互轉換

region 將json轉換為datatable 將json轉換為datatable 得到的json private datatable jsontodatatable string strjson matchcollection mc rg.matches strjson for int i 0 ...

python筆記 json與string相互轉化

我在從web獲取到json資料時,需要儲存在本地文字檔案中,這就需要json轉換為string,使用快取資料時,又需要string轉json。注意,如果要存入文字文件,一定先將dict轉為string,string裡面key要使用雙引號,要不然存在文字文件裡的就是單引號,取出來的string不能轉換...

關於dataTable 生成JSON 樹

背景 postgresl c dhtmlx suit 乙個表生成乙個json串,這個不是很麻煩 1.在資料庫 postges 中 json agg row to json t 2.在c 中直接for 迴圈 拼接是沒有問題 這都不是我想要的,我要的更多 一棵樹狀的json串 如上的表生成如下的樹 說明...