首先我們看看 newtonsoft.json.jsonconvert 是怎麼完成的:
datatable table = newdatatable();
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串 如上的表生成如下的樹 說明...