Tag: json

Spring-MVC 406不可接受而不是JSON响应

我正在尝试使用Spring 3.0.6返回JSON响应,但我得到406响应“Not Acceptable”,其描述为:“此请求标识的资源只能生成具有不可接受的特征的响应”请求“接受”标题()。“ 我知道之前已经提出了一个非常类似的问题 ,但是我无法让它适用于我的项目,尽管进行了许多测试但我不明白我做错了什么。 在我的Maven pom.xml中,我有以下内容: org.codehaus.jackson jackson-mapper-asl 1.8.5 compile org.codehaus.jackson jackson-core-asl 1.8.5 compile 在web.xml中,我引用webmvc-config.xml,日志确认已加载。 mainServlet org.springframework.web.servlet.DispatcherServlet contextConfigLocation /WEB-INF/spring/webmvc-config.xml 1 在webmvc-config.xml中,我有以下内容: 我的控制器是: @Controller public class ClassifiedController { @RequestMapping(value = “/classified/{idClassified}”, headers = “Accept=*/*”, method = RequestMethod.GET) @ResponseBody public final Classified getClassified(@PathVariable final int idClassified) { … 我尝试使用或不使用headers参数,但结果相同。 如果我直接使用Firefox调用URL,请求标头包含以下内容(使用firebug进行检查): Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 如果我使用以下JQuery: $.ajax({ url: ‘/classified/38001’, […]

值的序列是否在JSON对象中重要?

我有一个JSON对象,我在我的Java程序中构建。 JSONObject jObj = {“AAA:aaa”,”BBB:bbb”,”CCC:ccc”} 我将此对象发送到服务器,在该服务器中,它期望JSON对象具有以下类型。 {“BBB:bbb”, “AAA:aaa”, “CCC:ccc”} 我的问题是JSON对象的顺序在服务器端真的很重要吗? 如果是,我该如何更改订单?

cURL和HttpURLConnection – 发布JSON数据

如何使用HttpURLConnection发布JSON数据? 我正在尝试这个: HttpURLConnection httpcon = (HttpURLConnection) ((new URL(“a url”).openConnection())); httpcon.setDoOutput(true); httpcon.setRequestProperty(“Content-Type”, “application/json”); httpcon.setRequestProperty(“Accept”, “application/json”); httpcon.setRequestMethod(“POST”); httpcon.connect(); StringReader reader = new StringReader(“{‘value’: 7.5}”); OutputStream os = httpcon.getOutputStream(); char[] buffer = new char[4096]; int bytes_read; while((bytes_read = reader.read(buffer)) != -1) { os.write(buffer, 0, bytes_read);// I am getting compilation error here } os.close(); 我在第14行遇到编译错误。 cURL请求是: curl -H “Accept: […]

如何将JSON数组作为URL中的参数传递

我要求在Web服务调用中将一些值从移动设备传递到服务器,因此我打算以JSON格式传递所有值,如下所示 { “nameservice”: [ { “id”: 7413, “name”: “ask” }, { “id”: 7414, “name”: “josn” }, { “id”: 7415, “name”: “john” }, { “id”: 7418, “name”: “R&R” } ] } 以下是我的服务电话 @RequestMapping(“/saveName”) @ResponseBody public String saveName(String acc) {jsonObject = new JSONObject(); try { ); System.out.println(acc); jsonObject.accumulate(“result”, “saved “); } catch(Exception e) { e.printStackTrace();jsonObject.accumulate(“result”, “Error Occured […]

解析JSON文件Java

我想在java中解析一个JSON文件,并从下面提到的文件中获取以下值: { “status”: “OK”, “origin_addresses”: [ “Vancouver, BC, Canada”, “Seattle, État de Washington, États-Unis” ], “destination_addresses”: [ “San Francisco, Californie, États-Unis”, “Victoria, BC, Canada” ], “rows”: [ { “elements”: [ { “status”: “OK”, “duration”: { “value”: 340110, “text”: “3 jours 22 heures” }, “distance”: { “value”: 1734542, “text”: “1 735 km” } }, { “status”: […]

如何在Gson中实现TypeAdapterFactory?

如何在Gson中实现TypeAdapterFactory类型? 创建的主要方法是通用的。 为什么? 注册方法registerTypeAdapterFactory()不接收类型参数。 那么, Gson如何知道工厂处理哪些类? 我应该为多个类实现一个工厂,还是可以为多个类实现一个工厂? 如果我为多个类实现一个工厂,那么在域外类型参数的情况下我应该返回什么?

如何防止gson将整数转换为双精度数

我的json中有整数,我不希望gson将它们转换成双打。 以下不起作用: @Test public void keepsIntsAsIs(){ String json=”[{\”id\”:1,\”quantity\”:2,\”name\”:\”apple\”},{\”id\”:3,\”quantity\”:4,\”name\”:\”orange\”}]”; GsonBuilder gsonBuilder = new GsonBuilder(); gsonBuilder.registerTypeAdapter(Double.class, new DoubleSerializerAsInt()); Gson gson = gsonBuilder.create(); List<Map> l = gson.fromJson(json, List.class); for(Map item : l){ System.out.println(item); } } private static class DoubleSerializerAsInt implements JsonSerializer{ @Override public JsonElement serialize(Double aDouble, Type type, JsonSerializationContext jsonSerializationContext) { int value = (int)Math.round(aDouble); return new JsonPrimitive(value); […]

Gson自定义deseralizer,用于对象中的一个变量

我的例子: 我们有一个Apple的对象类型。 Apple有一些成员变量: String appleName; // The apples name String appleBrand; // The apples brand List seeds; // A list of seeds the apple has 种子对象如下所示。 String seedName; // The seeds name long seedSize; // The size of the seed 现在,当我得到一个苹果对象时,一个苹果可能有一个以上的种子,或者它可能有一颗种子,或者可能没有种子! 带有一个种子的示例JSON apple: { “apple” : { “apple_name” : “Jimmy”, “apple_brand” : “Awesome Brand” , […]

HTTP状态406. Spring MVC 4.0,jQuery,JSON

我想从我的控制器发送JSON。 我有以下配置。 spring-servlet.xml: .js: function testAjax() { var data = {userName: “MyUsername”, password:”Password”}; $.ajax({ url: ‘ajax/test.htm’, dataType : ‘json’, type : ‘POST’, contentType: “application/json”, data: JSON.stringify(data), success: function(response){ alert(‘Load was performed.’); } }); } UserTest.java: public class UserTest { private String userName; private String password; public String getUserName() { return userName; } public void setUserName(String […]

使用Jackson将Json反序列化为另一个类层次结构

现在我和jackson合作,我对此有一些疑问。 首先。 我有两个服务,第一个是数据收集和发送服务,第二个接收这些数据,例如,将其记录到文件中。 所以,第一个服务有类层次结构,如下所示: +—-ConcreteC | Base —-+—-ConcreteA | +—-ConcreteB 第二个服务有类层次结构,如下所示: ConcreteAAdapter extends ConcreteA implements Adapter {} ConcreteBAdapter extends ConcreteB implements Adapter {} ConcreteCAdapter extends ConcreteC implements Adapter {} 第一个服务对ConcreteXAdapter一无所知。 我在第一个服务上发送数据的方式: Collection data = new LinkedBlockingQueue() JacksonUtils utils = new JacksonUtils(); data.add(new ConcreteA()); data.add(new ConcreteB()); data.add(new ConcreteC()); … send(utils.marshall(data)); … public class JacksonUtils { public […]