2015-12-21 239 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) + "]";