Java 使用jayway JsonPath解析Json时保持尾随零
我正在使用JaywayJSON path-2.4.0解析json。解析json时,如果json包含任何双精度值,则会截断尾随的零。例如,我有一个Json字符串,如下所示 {name:Sparker,value:60.10} 我的代码是:Java 使用jayway JsonPath解析Json时保持尾随零,java,json,jsonpath,jayway,Java,Json,Jsonpath,Jayway,我正在使用JaywayJSON path-2.4.0解析json。解析json时,如果json包含任何双精度值,则会截断尾随的零。例如,我有一个Json字符串,如下所示 {name:Sparker,value:60.10} 我的代码是: package com.test; import com.jayway.jsonpath.DocumentContext; import com.jayway.jsonpath.JsonPath; import java.math.BigDecimal; p
package com.test;
import com.jayway.jsonpath.DocumentContext;
import com.jayway.jsonpath.JsonPath;
import java.math.BigDecimal;
public class TestClas {
public static void main(String[] args) {
String value = "{\"name\" : \"Sparker\" , \"value\": 60.10}";
DocumentContext docCtx = JsonPath.parse(value);
JsonPath jsonPath = JsonPath.compile("$.value");
Object result = docCtx.read(jsonPath);
System.out.println(result);
}
}
它只打印60.1,但我需要60.10。如何在不截断尾随零的情况下获得结果。您没有指定类型-您只是在使用Object-因此它会自动选择Double。Double没有尾随零的概念:这是数字显示方式的一个方面
请参见我想使我的类成为通用类。我想解析不同的Json路径,它返回不同的对象字符串、Int、List、Map等。这就是为什么要使用object。