JAX-RS使用JSON并使用javax.json读取它

时间:2014-07-14 07:29:48

标签: java json jax-rs

如何从post中使用json并使用javax.json

读取它

如何在不添加更多依赖项的情况下执行此操作或将json与实体bean相关联

json(application / json)

{"employees":[
   {"firstName":"John", "lastName":"Doe"}, 
   {"firstName":"Anna", "lastName":"Smith"},
   {"firstName":"Peter", "lastName":"Jones"}
]}

服务器

    @POST
    @Consumes(MediaType.APPLICATION_JSON)
    @Produces("text/plain")
    public String receiveJSON( whatShouldIput data ){

      JsonReader reader = Json.createReader(data );
      JsonObject obj = reader.readObject();
      JsonArray results = obj.getJsonArray("data");
      for (JsonObject result : results.getValuesAs(JsonObject.class)) {
          System.out.print(result.getJsonObject("employees").getString("firstName"));
          System.out.print(" ");
          System.out.println(result.getString("lastName", ""));
          System.out.println("-----------");
     }

        return "ok";
    }

3 个答案:

答案 0 :(得分:0)

使用Apache CXF API可以非常轻松地完成此操作。您必须提供将您的json数据直接转换为Object的json提供程序。 Ideally, we should not write marshalling or unmarshalling code service implementation.

http://cxf.apache.org/docs/jax-rs.html

或者如果要解组json数据,请使用ObjectMapper的{​​{1}}

http://wiki.fasterxml.com/JacksonInFiveMinutes

答案 1 :(得分:0)

“whatShouldIput”应该是“String”类型。还需要进行其他一些调整。这是一个使用您输入的示例程序。

John Doe
-----------
Anna Smith
-----------
Peter Jones
-----------
ok

输出:

var Hello = React.createClass({
    render: function() {
        return 
         <div>
           <section>
            <form action="http://localhost:9203/ask">
              Text: <input type="text" name="text" value="Text"/> <br/>
              Focus:  <input type="text" name="focus" value="Focus"/> <br/><br/>
              <input type="submit" value="Submit"/>
            </form>
          </section>
        </div>;
    }
});

React.render(<Hello name="World" />, document.getElementById('container'));

答案 2 :(得分:0)

至少在Jersey上,只需将其声明为JsonObject:

public String receiveJSON( JsonObject data )

它将自动为您解析

另请参阅https://jersey.java.net/documentation/latest/media.html#json.json-p以设置依赖关系