2016-11-30 187 views
-1

我的下一個JSON顯示/反序列化JSON字符串

[[["Hello","Hola",,,1]],,"es"] 

我怎樣才能得到只有第一個對象,在這種情況下,「你好」?

+1

這不是有效的JSON。你在同一個數組中有一個字符串和一個整數。類型是否重要,你知道應該放在第一位的類型嗎? – Dispersia

+0

這是從下一個網址的輸出:https://translate.googleapis.com/translate_a/single?client=gtx&sl=es&tl=en&dt=t&q=Hola – Baker1562

+2

我建議去他們的新api:https://cloud.google .com/translate/docs/translating-text#translate-translate-text-protocol說明json無效,看起來很不穩定。 – Dispersia

回答

3

使用JSON.NET,例如,你可以這樣做:

var jsonObject = JsonConvert.DeserializeObject<JArray>("[[[\"Hello\",\"Hola\",,,1]],,\"es\"]"); 
string value = (string)((JValue)jsonObject[0][0][0]).Value; 
Console.WriteLine(value); 
+0

好吧,它看起來像這是有效的JSON :)好趕上 – mybirthname

+0

@mybirthname它仍然無效,但是jsonconvert通過這樣做創建一個普通對象的數組,因此如果類型更改(數組是不同的類型,所以誰知道它可能會或不會返回)。但是,我只是因爲它以我們最好的知識來回答這個問題而高興。 – Dispersia

+0

它的工作表示感謝 – Baker1562