2015-07-28 141 views
-1

我有以下場景,我有一個字符串數組,我需要將這些數據作爲json對象傳遞。 如何使用DataContractJsonSerializer將字符串數組轉換爲json對象。在C中將字符串數組轉換爲json對象#

代碼:

string[] request = new String[2]; 
string[1] = "Name"; 
string[2] = "Occupaonti"; 
+0

什麼是你的研究? –

+1

如果你可以使用第三方庫,你應該看看[Json.Net](http://www.newtonsoft.com/json) – IronSlug

回答

4

這裏有一個簡單的類,它應該做的工作。我冒昧地使用Newtonsoft.Json而不是DataContractJsonSerializer。

namespace ConsoleApplication1 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      string[] request = new String[2]; 
      request[0] = "Name"; 
      request[1] = "Occupaonti"; 
      string json = JsonConvert.SerializeObject(request); 
     } 
    } 
} 
+0

嗨湯姆,這個輸出將是{「名稱」,「職業」 } ...?? –

+0

不可以。正如Alex Neves在他自己的回答中指出的那樣(這比我的回答更完整),它的輸出是'[「Name」,「Occupaonti」]',在JSON中是一系列項目。 –

5

我會建議使用Newtonsoft.Json NuGet包,因爲它使處理JSON瑣碎。你可以做到以下幾點:

var request = new String[2]; 
request[0] = "Name"; 
request[1] = "Occupaonti"; 

var json = JsonConvert.SerializeObject(request); 

將產生:

["Name","Occupaonti"] 

注意,在您的文章原先嚐試索引到字符串類型,也已收到,因爲索引的IndexOutOfBounds例外是基於零的。我假設你需要指定名稱和佔用的價值觀,所以我會稍微改變這樣的:

var name = "Pooja Kuntal"; 
var occupancy = "Software Engineer"; 

var person = new 
{ 
    Name = name, 
    Occupancy = occupancy 
}; 

var json = JsonConvert.SerializeObject(person); 

將產生:

{ 
    "Name": "Pooja Kuntal", 
    "Occupancy": "Software Engineer" 
} 
相關問題