はジャージーJava Jersey JSONサービスは引用符付きの文字列を返しませんか?ここで
@GET
@Produces(MediaType.APPLICATION_JSON)
public Object interpretationJson() {
String o = "a simple string";
return o;
}
を使って書かれたシンプルなWebサービスです。このため、応答は次のとおりです。
HTTP/1.1 200
Content-Type: application/json
Content-Length: 15
Date: Mon, 02 Oct 2017 23:18:14 GMT
a simple string
はレスポンスボディ内の文字列を引用符で囲むことではないでしょうか?私はこれが有効なJSONだとは思わない。応答は:
HTTP/1.1 200
Content-Type: application/json
Content-Length: 15
Date: Mon, 02 Oct 2017 23:18:14 GMT
"a simple string"
これは私に少し混乱を引き起こしました。私はもともと問題がクライアント側にあると思っていましたが、問題はJerseyから返された文字列が有効なJSONではないと思っています - C# Parsing json that may have simple types
なぜ値を設定し、このPOJOクラスを使用して返しますか?引用符で囲まれた文字列を取得するには、エスケープして別の引用符を追加します。正しい文字列ではなく正しいjsonを返す場合、フィールドの値は適切に引用されます – Optional
シリアライザは、返されるオブジェクトを適切にシリアル化する必要があります。引用符のない文字列は有効なJSONではありません。これは簡単な例です。実際のコードでは、オブジェクト "o"は時には単純な文字列ですが、時にはより複雑なオブジェクトです。 –