服务器获取泽西岛的json,JAVA
我不知道如何获取json对象并在jersey中使用rest从ajax json帖子中获取并输出它,我使用grizzly服务器,服务器已设置,以下是应该获取json的代码,请更正我,谢谢服务器获取泽西岛的json,JAVA,java,json,get,jersey,Java,Json,Get,Jersey,我不知道如何获取json对象并在jersey中使用rest从ajax json帖子中获取并输出它,我使用grizzly服务器,服务器已设置,以下是应该获取json的代码,请更正我,谢谢 import java.io.IOException; import java.io.InputStream; import net.sf.json.JSONObject; import net.sf.json.JSONSerializer; import org.apache.commons.io.IOUt
import java.io.IOException;
import java.io.InputStream;
import net.sf.json.JSONObject;
import net.sf.json.JSONSerializer;
import org.apache.commons.io.IOUtils;
import javax.ws.rs.*;
@Path("/helloworld")
public class GetData {
@GET
@Consumes("application/json")
public String getResource(JSONObject obj) throws IOException {
InputStream in = (InputStream) obj.values();
String data = IOUtils.toString(in);
JSONObject out = (JSONObject) JSONSerializer.toJSON(data);
String result = out.getString("name");
return result;
}
}
您需要找出,JSON对象应该反序列化到什么。如果它只是一个JSONObject,并且您希望手动解析它:
@Consumes("application/json")
public String getResource(JSONObject obj) {
...
}
如果是某种自定义对象:
@Consumes("application/json")
public String getResource(CustomObj customObj) {
...
}
但是,您应该注意Jackson将该对象编组/反编组为JSON。您需要了解,您的JSON对象应该反序列化为什么。如果它只是一个JSONObject,并且您希望手动解析它:
@Consumes("application/json")
public String getResource(JSONObject obj) {
...
}
如果是某种自定义对象:
@Consumes("application/json")
public String getResource(CustomObj customObj) {
...
}
但是,您应该注意Jackson将该对象编组/解编组为JSON。ty!我这里有一个my jquery代码,它将json发布到服务器函数sendData(){$.ajax({url:'/helloworld',type:'POST',contentType:'application/json',data:{json:json.stringify({name:'Bob',…}),dataType:'json'});警报(“json已发布!”;};所以变量obj包含json数据?是的,对象将包含请求的主体-在您的例子中是
{name:“Bob”,…}
更新了问题中的代码,现在,我尝试返回数据,但没有结果,得到以下消息:ALLVARLIG:Java类net.sf.json.JSONObject的消息体读取器,找不到Java类型类net.sf.json.JSONObject和MIME媒体类型application/octet stream.ty作为答案!我这里有一个my jquery代码,它将json发布到服务器函数sendData(){$.ajax({url:'/helloworld',type:'POST',contentType:'application/json',data:{json:json.stringify({name:'Bob',…}),dataType:'json'});警报(“json已发布!”;};所以变量obj包含json数据?是的,对象将包含请求的主体-在您的例子中是{name:“Bob”,…}
更新了问题中的代码,现在,我尝试返回数据,但没有结果,得到以下消息:ALLVARLIG:Java类net.sf.json.JSONObject的消息体读取器,和Java类型类net.sf.json.JSONObject,未找到MIME媒体类型应用程序/八位字节流。