Nav*_*ava 19 java arrays string json gson
如何将此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]]";
Run Code Online (Sandbox Code Playgroud)
这是我的代码:
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);
}
Run Code Online (Sandbox Code Playgroud)
这是将此Collections字符串转换为JSonArray的方法吗?
Aar*_*nYC 41
要在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]]";
Run Code Online (Sandbox Code Playgroud)
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);
Run Code Online (Sandbox Code Playgroud)
最后,请记住在语句"com.google.gson.*"前加上关键字"import",如下所示.
import com.google.gson.*;
Run Code Online (Sandbox Code Playgroud)
我没有看到问题.这段代码对我运行正常:
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 );
}
}
Run Code Online (Sandbox Code Playgroud)
唯一的问题可能是你没能正确地转义你的字符串文字中的双引号.