我有一个对象
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(使用jackson):
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}\
在我看来,这就像火花库中的一个错误:它正在用引号进行转义。有人遇到过这个问题吗?