我正在尝试使用 Java 中的 simple.json 读取和解析 json 文件。但是,在 float 上我得到错误。我应该如何解析 float ?
JSON 文件是这样的:
[
{
"region":"NF",
"destination":"d1",
"source":"s1",
"time":2003,
"value":0.1
},
{
"region":"NF",
"destination":"d2",
"source":"s2",
"time":2004,
"value":0.002
},
]
我解析它的代码是:
JSONArray jsonArray = (JSONArray)obj;
Iterator<JSONObject> iterator = jsonArray.iterator();
while(iterator.hasNext()){
JSONObject jsonObject = iterator.next();
String region = (String) jsonObject.get("region");
String src = (String) jsonObject.get("source");
String dst = (String) jsonObject.get("destination");
long time = (long) jsonObject.get("time");
long val = (long) jsonObject.get("value");
}
最佳答案
如果要存储 float ,则需要该类型的变量,即 double 型。
double val = ((Number)jsonObject.get("value")).doubleValue();
在这种情况下,get()
方法应该返回 java.lang.Number 的一个实例.然后你可以调用doubleValue()
方法来存储浮点值。
关于java - 在 simple.json Java 中解码 float ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21690413/