无法将字符串转换为JsonArray

如何将此String转换为gson.JsonArray?

String s= "[["110917 ", 3.0099999999999998, -0.72999999999999998, 2.8500000000000001, 2.96, 685.0, 38603.0], ["110917 ", 2.71, 0.20999999999999999, 2.8199999999999998, 2.8999999999999999, 2987.0, 33762.0]]"; 

这是我的代码:

  com.google.gson.*; public static void main(String[] args) { //Declared S here System.out.println("String to Json Array Stmt"); JsonParser parser = new JsonParser(); JsonElement tradeElement = parser.parse(s.toString()); JsonArray trade = tradeElement.getAsJsonArray(); System.out.println(trade); } 

这是将此Collections字符串转换为JSonArray的方法吗?

要在JSON数组中包含字符串值,必须记住在Java程序中使用反斜杠转义双引号。 见下面的声明。

 String s = "[[\"110917 \", 3.0099999999999998, -0.72999999999999998, 2.8500000000000001, 2.96, 685.0, 38603.0], [\"110917 \", 2.71, 0.20999999999999999, 2.8199999999999998, 2.8999999999999999, 2987.0, 33762.0]]"; 

main()方法中的代码工作正常。 下面只是对main()方法中代码的一个小修改。

 System.out.println("String to Json Array Stmt"); JsonParser parser = new JsonParser(); JsonElement tradeElement = parser.parse(s); JsonArray trade = tradeElement.getAsJsonArray(); System.out.println(trade); 

最后,请记住在语句“com.google.gson。*”前加上关键字“import”,如下所示。

 import com.google.gson.*; 

我没有看到问题。 这段代码对我运行正常:

 import com.google.gson.JsonArray; import com.google.gson.JsonElement; import com.google.gson.JsonParser; public class GsonExample { public static void main(String[] args) { String s= "[[\"110917\", 3.0099999999999998, -0.72999999999999998," + "2.8500000000000001, 2.96, 685.0, 38603.0], [\"110917\", 2.71," + "0.20999999999999999, 2.8199999999999998, 2.8999999999999999," + "2987.0, 33762.0]]"; JsonParser parser = new JsonParser(); JsonElement elem = parser.parse( s ); JsonArray elemArr = elem.getAsJsonArray(); System.out.println( elemArr ); } } 

唯一的问题可能是你没能正确地转义你的字符串文字中的双引号。