本文目錄一覽:
- 1、如何使用LINQ鏈接資料庫?舉個例子(C#.NET)謝謝
- 2、在.net開發項目中,利用linq to sql 的方式獲取到數據,如何將這些獲取到的數據轉換為json數據
- 3、C#怎樣把資料庫里查出的數據轉換為JSON格式
- 4、如何將C#/.NET 將json字元串格式數據轉換成對象?
- 5、Visual Studio中如何安裝使用Newtonsoft Json
- 6、LINQ的JSON需要幫助問題,怎麼解決
如何使用LINQ鏈接資料庫?舉個例子(C#.NET)謝謝
1、在App_Code下面添加新項「LINQ to SQL 類」
2、打開該類,設置Name屬性(例如MyLinqDB)和Connection屬性
3、伺服器資源管理器內添加資料庫連接
4、將資料庫內需要操作的表拖入LINQ to SQL 類的設計視圖,並保存
5、新建數據綁定控制項例如ListView1
6、後台Page_Load編寫代碼:
var DB = new MyLinqDB();
var query = from t in DB.T_Users select new {t.ID, t.UserName, t.Password};
ListView1.DataSource = query.Where(t = t.ID 0).Skip(3 * 20).Take(20);//每頁20,第四頁
ListView1.DataBind();
在.net開發項目中,利用linq to sql 的方式獲取到數據,如何將這些獲取到的數據轉換為json數據
.net 最好的序列化組件是 Newtonsoft.Json
假如你的 LINQ
var query = list.Where(w=w.CategoryID);
var json = Newtonsoft.Json.JsonConvert.SerializeObject(query);
你可以通過NUGET來獲取組件
C#怎樣把資料庫里查出的數據轉換為JSON格式
引用名稱空間using System.Web.Script.Serialization;(如果無法引用,請添加程序集)
JavaScriptSerializer js = new JavaScriptSerializer();
//序列化成json字元串
string json= js.Serialize(“資料庫查詢出來的數據”);
如何將C#/.NET 將json字元串格式數據轉換成對象?
下個Newtonsoft.Json插件
引用 Newtonsoft.Json.dll
1、json字元串
string xxx = “{\”count\”:\”1\”,\”Product_Code\”:\”14003949\”,\”Product_Name\”:\”聚丙烯樹脂\”,\”Product_Batch\”:\”20140228D8103\”,\”Certification_Code\”:\”SCSH20140226-001-01\”,\”Plate_Code\”:\”L5E-89\”,\”Grade\”:\”合格品\”,\”WarehouseIn_Num\”:\”19120.0000000\”,\”WarehouseIn_Weight\”:\”478.000\”,\”WarehouseIn_Confirm_Date\”:\”2014-03-01\”}”;
則直接轉換為對象:
M_WarehouseInResult whh = JsonConvert.DeserializeObjectM_WarehouseInResult(xxx);
2、如果為json數組(注意:最外是中括弧)
string xxx = “[{\”count\”:\”1\”,\”Product_Code\”:\”14003949\”,\”Product_Name\”:\”聚丙烯樹脂\”,\”Product_Batch\”:\”20140228D8103\”,\”Certification_Code\”:\”SCSH20140226-001-01\”,\”Plate_Code\”:\”L5E-89\”,\”Grade\”:\”合格品\”,\”WarehouseIn_Num\”:\”19120.0000000\”,\”WarehouseIn_Weight\”:\”478.000\”,\”WarehouseIn_Confirm_Date\”:\”2014-03-01\”}]”;
json數組轉換為list
ListM_WarehouseInResult whh = JsonConvert.DeserializeObjectListM_WarehouseInResult(xxx);
附:
public class M_WarehouseInResult
{
public string count { get; set; }
public string Product_Code { get; set; }
public string Product_Name { get; set; }
public string Product_Batch { get; set; }
public string Certification_Code { get; set; }
public string Plate_Code { get; set; }
public string Grade { get; set; }
public string WarehouseIn_Num { get; set; }
public string WarehouseIn_Weight { get; set; }
public string WarehouseIn_Confirm_Date { get; set; }
}
Visual Studio中如何安裝使用Newtonsoft Json
我們使用Visual Studio的時候,經常需要處理Json數據。這個時候就需要Newtonsoft Json工具了,那麼如何使用呢?下面我給大家分享一下。
工具/材料
Visual Studio
首先我們打開Visual Studio軟體,新建一個控制台應用程序,如下圖所示
然後我們右鍵單擊引用選項,在彈出的下拉菜單中選擇管理NuGet程序包選項,如下圖所示
接下來會進入到NuGet管理界面,我們選擇瀏覽頁卡,然後選擇列表中的Newtonsoft Json選項,如下圖所示
接著在右側界面選擇Newtonsoft Json的版本,然後點擊安裝按鈕,如下圖所示
然後回到控制台程序界面,我們就會看到引用下面多出了Newtonsoft Json的庫文件了,如下圖所示
接下來我們在CS文件中通過using命令引入Newtonsoft.Json.Linq庫,如下圖所示
然後就可以在函數中運用Jobject和Jarray兩個數據結構了,如下圖所示,我這裡需要演示了往這兩個數據類型裡面添加數據的方式
最後我們在通過中括弧從JObject和JArray兩個數據類型裡面取數據,如下圖所示,這樣Newtonsoft Json的安裝和使用就完成了
LINQ的JSON需要幫助問題,怎麼解決
Linq to JSON是用來操作JSON對象的.可以用於快速查詢,修改和創建JSON對象.當JSON對象內容比較複雜,而我們僅僅需要其中的一小部分數據時,可以考慮使用Linq to JSON來讀取和修改部分的數據而非反序列化全部.
二.創建JSON數組和對象
在進行Linq to JSON之前,首先要了解一下用於操作Linq to JSON的類.
類名 說明
JObject
用於操作JSON對象
JArray
用語操作JSON數組
JValue
表示數組中的值
JProperty
表示對象中的屬性,以”key/value”形式
JToken
用於存放Linq to JSON查詢後的結果
1.創建JSON對象
JObject staff = new JObject();
staff.Add(new JProperty(“Name”, “Jack”));
staff.Add(new JProperty(“Age”, 33));
staff.Add(new JProperty(“Department”, “Personnel Department”));
staff.Add(new JProperty(“Leader”, new JObject(new JProperty(“Name”, “Tom”), new JProperty(“Age”, 44), new JProperty(“Department”, “Personnel Department”))));
Console.WriteLine(staff.ToString());
結果:
除此之外,還可以通過一下方式來獲取JObject.JArray類似。
方法 說明
JObject.Parse(string json)
json含有JSON對象的字元串,返回為JObject對象
JObject.FromObject(object o)
o為要轉化的對象,返回一個JObject對象
JObject.Load(JsonReader reader)
reader包含著JSON對象的內容,返回一個JObject對象
2.創建JSON數組
JArray arr = new JArray();
arr.Add(new JValue(1));
arr.Add(new JValue(2));
arr.Add(new JValue(3));
Console.WriteLine(arr.ToString());
結果:
三.使用Linq to JSON
1.查詢
首先準備Json字元串,是一個包含員工基本信息的Json
string json = “{\”Name\” : \”Jack\”, \”Age\” : 34, \”Colleagues\” : [{\”Name\” : \”Tom\” , \”Age\”:44},{\”Name\” : \”Abel\”,\”Age\”:29}] }”;
①獲取該員工的姓名
//將json轉換為JObject
JObject jObj = JObject.Parse(json); //通過屬性名或者索引來訪問,僅僅是自己的屬性名,而不是所有的
JToken ageToken = jObj[“Age”];
Console.WriteLine(ageToken.ToString());
結果:
②獲取該員工同事的所有姓名
//將json轉換為JObject
JObject jObj = JObject.Parse(json); var names=from staff in jObj[“Colleagues”].Children() select (string)staff[“Name”]; foreach (var name in names)
Console.WriteLine(name);
“Children()”可以返回所有數組中的對象
結果:
2.修改
①現在我們發現獲取的json字元串中Jack的年齡應該為35
//將json轉換為JObject
JObject jObj = JObject.Parse(json);
jObj[“Age”] = 35;
Console.WriteLine(jObj.ToString());
結果:
注意不要通過以下方式來修改:
JObject jObj = JObject.Parse(json);
JToken age = jObj[“Age”];
age = 35;
②現在我們發現Jack的同事Tom的年齡錯了,應該為45
//將json轉換為JObject
JObject jObj = JObject.Parse(json);
JToken colleagues = jObj[“Colleagues”];
colleagues[0][“Age”] = 45;
jObj[“Colleagues”] = colleagues;//修改後,再賦給對象
Console.WriteLine(jObj.ToString());
結果:
3.刪除
①現在我們想刪除Jack的同事
JObject jObj = JObject.Parse(json);
jObj.Remove(“Colleagues”);//跟的是屬性名稱
Console.WriteLine(jObj.ToString());
結果:
②現在我們發現Abel不是Jack的同事,要求從中刪除
JObject jObj = JObject.Parse(json);
jObj[“Colleagues”][1].Remove();
Console.WriteLine(jObj.ToString());
結果:
4.添加
①我們發現Jack的信息中少了部門信息,要求我們必須添加在Age的後面
//將json轉換為JObject
JObject jObj = JObject.Parse(json);
jObj[“Age”].Parent.AddAfterSelf(new JProperty(“Department”, “Personnel Department”));
Console.WriteLine(jObj.ToString());
結果:
②現在我們又發現,Jack公司來了一個新同事Linda
//將json轉換為JObject
JObject jObj = JObject.Parse(json);
JObject linda = new JObject(new JProperty(“Name”, “Linda”), new JProperty(“Age”, “23”));
jObj[“Colleagues”].Last.AddAfterSelf(linda);
Console.WriteLine(jObj.ToString());
結果:
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/188938.html