如何设置用于传递给JsonPath.parse()的JSON的编码。有一个Configuration参数,但似乎没有编码设置。
有没有办法让它在开始时使用(或忽略)BOM?
我正在使用jayway JsonPath。
谢谢 - 戴夫
答案 0 :(得分:0)
read
方法。
来自Javadocs ...
public T read(java.io.InputStream jsonInputStream,java.lang.String charset,Configuration configuration) 抛出java.io.IOException
例如:
String json = "{\n" +
" \"name\" : \"john\",\n" +
" \"gender\" : \"male\"\n" +
" }";
// presumably you'll read (or get) the json in the correct charset
String value = JsonPath.compile("$.name")
.read(new ByteArrayInputStream(json.getBytes()), "UTF-8", Configuration.defaultConfiguration());
assertThat(value, is("john"));
注意:这要求您在JsonPath
级别使用已编译的DocumentContext
而不是(可能)更加用户友好的API。