有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何在JsonPath中设置编码?

如何设置传递给JsonPath的JSON的编码。parse()。有一个配置参数,但似乎没有编码设置

有没有办法让它一开始就使用(或忽略)BOM表

我正在使用jayway JsonPath

谢谢-戴夫


共 (1) 个答案

  1. # 1 楼答案

    Jayway JsonPath公开了一个接受字符集参数的read方法

    Javadocs

    public T read(java.io.InputStream jsonInputStream, java.lang.String charset, Configuration configuration) throws 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