簡體   English   中英

如何將帶有鍵/值的數組轉換為JSON c#

[英]how to convert array with keys/values to JSON c#

我是C#的新手,我已經讓自己頭疼了。 我知道這可能是孩子們給你的東西,但我花了一個小時+谷歌周圍,似乎無法解決它。

我要做的就是將數組轉換為JSON。 我很了解PHP,所以這里是我正在嘗試做的一個例子(在PHP中):

$myarr=array("key1"=>"value for key 1","key2"=>"value for key 2");

$jsonArray=json_encode($myarr);

所以$jsonArray將是: {"key1":"value for key 1","key2":"value for key 2"}

現在,我正在努力做到這一點,但在C#中。

這是我到目前為止:

 String[] keys = new String[] { "emailSend","toEmail"};
 String[] values = new String[] {textBox2.Text,textBox1.Text};
 JavaScriptSerializer js = new JavaScriptSerializer();
 string json = js.Serialize(keys);//final json result
 MessageBox.Show(json);//show me

我正在使用Visual Studio C#2010,它會拋出此錯誤(使用上面的代碼):

找不到類型或命名空間名稱'JavaScriptSerializer'(您是否缺少using指令或程序集引用?)

關於我在這里做錯了什么的想法? 謝謝

看起來你沒有正確的using聲明? 將以下內容添加到文件頂部:

using System.Web.Script.Serialization;

編輯 :要獲得格式正確的JSON,請使用Dictionary

var keyValues = new Dictionary<string, string>
               {
                   { "emailSend", textBox1.Text },
                   { "toEmail", textBox2.Text }
               };

JavaScriptSerializer js = new JavaScriptSerializer();
string json = js.Serialize(keyValues);
MessageBox.Show(json);

如何使用JSON.NET和JObject類?

var obj = new JObject();

obj["One"] = "Value One";
obj["Two"] = "Value Two";
obj["Three"] = "Value Three";

var serialized = JsonConvert.SerializeObject(obj);

給你

{"One":"Value One","Two":"Value Two","Three":"Value Three"}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM