2015-07-28 68 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" 
} 
相关问题