2015-12-21 241 views
2

我有一个从方法获得的字符串值数组,我想将此数组转换为HTML可读格式以获取/发布(例如,value = [12,21] )将字符串数组转换为JSON格式的字符串

我曾尝试以下:

string[] array1 = methodToGetStringArray(); //assuming [12,21] for example 
string finalString = "value="+array1; //intended output is value=[12,21] 

这当然是行不通的。

我想知道提供如上所示的值的方法。

+0

感谢所有的答案。虽然所有的都是正确的,但我认为@choz的答案是简单数组中最少的答案。 – aeee98

+0

注意:'12'不是真正的字符串......你询问关于字符串数组的事实使大多数答案无效,因为不能简单地将字符串原样添加到JSON输出中。 –

+0

@AlexeiLevenkov现在我明白你的意思了。那么,他预计'预期产出是价值= [12,21]'。 – choz

回答

3

你可以试试,

string finalString = String.Format("value=[{0}]", string.Join(", ", array1)); 

finalString应该返回,

value=[12, 21] 
+0

我认为downvote,但显然没有人认为字符串与报价作为基于其他答案的有效选项...所以,让我们只是保持这个有问题的建议以及所有其他OP一次在这里为OP旅行。 'value = [“a”b“,”c“,,,,,,, d”]':( –

+0

@AlexeiLevenkov我不太明白你的意思。你是说格式字符串应该是'value = ['{0}']'给出'value = ['12','21']'? – choz

+2

OP没有指定字符串数组中的值是什么类型(而'21'不是真正的字符串)。因此,对于'[“a \”b“,”c \“,,,,,,, d”]'你的代码将产生可疑的JSON。 –

1

使用string.Join方法:

string finalString = "value=[" + string.Join(",",array1) + "]"; 

或者JavaScriptSerializer

var serializer = new JavaScriptSerializer(); 
var finalString = "value=" + serializer.Serialize(array1); 
3

尝试这样的:

string[] array1 = methodToGetStringArray(); 
string json = JsonConvert.SerializeObject(array1); 

参考JSON.NET

+0

嗨,我没有使用JSON.NET为我的应用程序,但感谢您的输入。我会将此方法用于允许我使用该库的其他项目。 – aeee98

1

你可以试试这个

string finalString = "Value = [" + string.Join(",", array1) + "]"; 
1
List<string> list = new List<string>(array1); 
var a = "value=[" + list.Aggregate((x, y) => x + "," + y) + "]";