0

我有一个对象

class JsonOutput {

    @JsonProperty("blah")
    private String blah;

    @JsonProperty("blah_blah")
    private String blahBlah;

    @JsonProperty("int_val")
    private String intVal;

    JsonOutput(String b, String bb, Integer i) {
       this.blah = b;
       this.blahBlah = bb;
       this.intVal = i;
    }

    // getters
}

我用于在字符串中创建 json(使用杰克逊):

JsonOutput jsonOutput = new JsonOutput("text1", "text2", 20);
ObjectMapper mapper = new ObjectMapper();
String jsonInfo = mapper.writeValueAsString(jsonOutput);

jsonInfo 似乎还可以:{"blah":"text1","blah_blah":"text2","int_val":20}但是当使用 spark 将其写入 csv 时,我得到每个字符串的双引号:

"{""blah"":""text1"",""blah_blah"":""text2"",""int_val"":20}"

似乎它正在逃逸"

我试图改变option("escape", "\\")但输出没有改变。如果我更改option("quote", "\\"),则输出会更改:

\{"blah":"text1","blah_blah":"text2","int_val":20}\

在我看来,这就像火花库中的一个错误:它正在使用引号进行转义。有没有人遇到过这个问题?

4

0 回答 0