显示/反序列化JSON字符串

问题描述:

我的下一个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

使用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