GSON - 从字符串中获取JSON值

76

我正在尝试使用GSON库解析JSON字符串 "{'test': '100.00'}",以便获取值:100.00。我的代码看起来像这样:

String myJSONString = "{'test': '100.00'}";
JsonObject jobj = new Gson().fromJson(myJSONString, JsonObject.class);

String result = jobj.get("test").toString();

System.out.println(result);

我的结果看起来像这样:"100.00",但我只需要没有引号的100.00。如何实现?

3个回答

89
double result = jobj.get("test").getAsDouble();

如果条目“test”不存在,这将抛出NPE。 - Gregzenegair

20

尝试

String result = jobj.get("test").getAsString();

get(String)方法返回JsonElement对象,您应该从中获取值。


getAsString() 故意抛出 UnsupportedOperationException 异常。 - Sergejs Visockis

1
double getDoubleFromString = Double.parseDouble(result);

编辑: 根据下面的评论:这里有一些解释

如果你有一个字符串 => 在这种情况下,"result"在第3行被设置为一个字符串。myJSONString变量中的键"test"的值为100.00。为了将这个值100.00“加倍”,您需要从Double类调用parseDouble方法。这就是如何将有效的字符串double转换为double Double.parseDouble(result); 将把字符串"result"转换为double


5
你能详细解释一下你的回答吗? - Athena
如果你有一个字符串 => 在这种情况下,"result"在第3行被设置为一个字符串。 myJSONString变量中的键"test"具有值100.00。为了将这个值100.00“DOUBLEFY”,您需要从Double类调用parseDouble方法。这就是如何将有效的字符串double转换为double Double.parseDouble(result); 将把字符串"result"转换为double。 - TimeTrax

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接