2017-06-25 9 views
0

私はさらにJSON配列に変換するString Bufferをシリアライズしています。 JSONArrayが有効であることを100%確信しています。Grizzly Server 500 JSONを返すときの応答

このJSONArrayをレスポンスとして送信すると、サーバーは500 Request Failedを返します。このJSONArrayをリストとして送信しています。

たとえば、文字列バッファが完全にロードされました。

私は私のpom.xmlにこれらの依存関係を持って
//Creating the JSONArray 
JSONArray jsonArray = new JSONArray(stringBuffer.toString()); 
//Sending the response 
return Response.status(200).entity(jsonArray.toList()).build(); 

<dependency> 
     <groupId>org.glassfish.jersey.containers</groupId> 
     <artifactId>jersey-container-grizzly2-http</artifactId> 
    </dependency> 
<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind --> 
     <dependency> 
      <groupId>com.fasterxml.jackson.core</groupId> 
      <artifactId>jackson-databind</artifactId> 
      <version>2.8.8</version> 
     </dependency> 

     <!-- https://mvnrepository.com/artifact/org.codehaus.jackson/jackson-mapper-asl --> 
     <dependency> 
      <groupId>org.codehaus.jackson</groupId> 
      <artifactId>jackson-mapper-asl</artifactId> 
      <version>1.9.13</version> 
     </dependency> 

     <dependency> 
      <groupId>org.glassfish.jersey.media</groupId> 
      <artifactId>jersey-media-json-jackson</artifactId> 
     </dependency> 

     <dependency> 
      <groupId>org.json</groupId> 
      <artifactId>json</artifactId> 
      <version>20160810</version> 
     </dependency> 

     <dependency> 
      <groupId>javax.ws.rs</groupId> 
      <artifactId>javax.ws.rs-api</artifactId> 
      <version>2.0</version> 
     </dependency> 

     <!-- https://mvnrepository.com/artifact/com.sun.jersey/jersey-server --> 
     <dependency> 
      <groupId>com.sun.jersey</groupId> 
      <artifactId>jersey-server</artifactId> 
      <version>1.19</version> 
     </dependency> 

     <dependency> 
       <groupId>org.apache.logging.log4j</groupId> 
       <artifactId>log4j-api</artifactId> 
       <version>2.8.2</version> 
     </dependency> 
     <dependency> 
       <groupId>org.apache.logging.log4j</groupId> 
       <artifactId>log4j-core</artifactId> 
       <version>2.8.2</version> 
     </dependency> 

     <!-- https://mvnrepository.com/artifact/org.glassfish.grizzly/grizzly-http-server --> 
     <dependency> 
       <groupId>org.glassfish.grizzly</groupId> 
       <artifactId>grizzly-http-server</artifactId> 
       <version>2.3.29</version> 
     </dependency> 

     <dependency> 
      <groupId>org.glassfish.jersey.core</groupId> 
      <artifactId>jersey-common</artifactId> 
      <version>2.22.2</version> 
     </dependency> 

     <dependency> 
      <groupId>org.glassfish.jersey.media</groupId> 
      <artifactId>jersey-media-moxy</artifactId> 
     </dependency> 

私はここで間違って何をしているのですか?サーバーはスタックトレースも印刷しません。

答えて

0

まあ、私は間違っていたことはまだ分かっていませんでした。だから、私はStringBufferの作成をやめ、POJOをJsonObjectにマップしました。 jsonオブジェクトのリストを返すと、getter、setter、およびコンストラクタが指定されている場合、Grizzlyはそれらを自動的にJSONArrayにマップします。また、必ず@JsonPropertyアノテーションを使用してください。参考のため

例:

public class Parameter { 
    @JsonProperty("Name") 
    public String name; 
    @JsonProperty("Value") 
    public String value; 
} 

これは正しくJSONから/への構文解析:から採取

"Parameter":{ 
    "Name":"Parameter-Name", 
    "Value":"Parameter-Value" 
} 

コード:コードのWhen is the @JsonProperty property used and what is it used for?おかげで、@OldCurmudgeon :)

関連する問題