Spring Framework との統合のために Jackson を使い始めたばかりで、値に一重引用符がある問題に遭遇しました。ページで jQuery を使用して JSON を解析しようとすると、JavaScript エラーが発生します"SyntaxError: missing ) after argument list"
。私は Gson を使用してオブジェクトをシリアル化することに慣れていますが、Gson は一重引用符を Unicode \u0027 に置き換えるため、この問題には遭遇しません。
例えば;
ジャワ
public final class Person {
private String firstName;
private String lastName;
public Person() {}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public String getFirstName() {
return firstName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
public String getLastName() {
return lastName;
}
}
JSON
In Jackson
[{"person":{"firstName":"James","lastName":"O'tool"}}]
In Gson
[{"person":{"firstName":"James","lastName":"O\u0027tool"}}]
JavaScript ;
// This is where the JavaScript fails with the Jackson serialized object
$.parseJSON('${requestScope.person}');
解決策を探しましたが、見つけることができません。Gsonと同じように一重引用符を処理するようにJacksonを構成できるかどうかは誰にもわかりませんか?
お時間をいただきありがとうございます。