Tag: json

JSONPath在Java中的基本用法

我将JSON作为字符串,将JSONPath作为字符串。 我想用JSON路径查询JSON,将生成的JSON作为字符串。 我认为Jayway的json路径 是标准 。 但是, 在线API与您从Maven获得的实际库没有多大关系。 GrepCode的版本大致匹配。 看起来我应该能做到: String originalJson; //these are initialized to actual data String jsonPath; String queriedJson = JsonPath.read(originalJson, jsonPath); 问题是read根据JSONPath实际找到的read返回任何最合适的内容(例如List , String , double等),因此我的代码会抛出某些查询的exception。 假设有一些方法可以查询JSON并获取JSON,这似乎是合理的。 有什么建议么?

如何使用Jackson json注释enum字段以进行反序列化

Jackson 1.6.2 REST Web服务/ Apache Wink 如何对枚举字段进行注释以便jackson对其进行反序列化? 内心阶级 public enum BooleanField { BOOLEAN_TRUE { public String value() { return “1”;} }, BOOLEAN_FALSE { public String value() { return “0”;} }, Java Bean / Request对象 BooleanField locked; public BooleanField getLocked() {return locked;} Jackson文档声明它可以通过@JsonValue / @JsonCreator完成此@JsonCreator但不提供任何示例(如何有用!)。 我敢肯定他们只是不想让太多人使用他们的框架,所以他们保守秘密。 有谁愿意溢出(java)bean,因为它是?

如何使用net.sf.json在Java中生成JSON字符串?

我正在努力在Java中生成JSON String。 import net.sf.json.JSONArray; import net.sf.json.JSONObject; JSONArray ja = new JSONArray(); JSONObject js = new JSONObject(); JSONObject j = new JSONObject(); String s = “[{\”shakil\”,\”29\”,\”7676\”}]”; js.put(“id”, “1”); js.put(“data”, s); ja.add(js); j.put(“rows”, ja); System.out.println(j.toString()); 实际产量: {“rows”:[{“id”:”2″,”data”:”[{\”shakil\”,\”29\”,\”7676\”}]”}]} 预期产量: {“rows”:[{“id”:”2″,”data”:[“shakil”, “29”,”7676″]}]};

使用Gson反序列化Java 8 LocalDateTime

我有一个日期时间属性的JSON,格式为“2014-03-10T18:46:40.000Z”,我想使用Gson将其反序列化为java.time.LocalDateTime字段。 当我尝试反序列化时,我收到错误: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING

在JAX-RS中将JSON解组为Java POJO

我希望得到每个Json格式化调用的键和值,并将它们用作java对象,如String或Integer,在其他客户端我将输入{“Name”:“HelloWorld”} 我会回到HelloWorld映射到它的Key到目前为止我见过的例子,但我只是很难找出每个标签做什么以及如何解析身体给出上述结果 @POST @Path(“/SetFeeds”) @Consumes(MediaType.APPLICATION_JSON) @Produces(MediaType.APPLICATION_JSON) @JsonCreator public String setFeed(String jsonBody,@Context UriInfo uriInfo){ …Code to manipulate the body of the request return response; }

如何防止Gson将长号(json字符串)转换为科学记数法格式?

我需要将json字符串转换为java对象并将其显示为long。 json字符串是一个固定的长数组: {numbers [ 268627104, 485677888, 506884800 ] } 转换的代码在所有情况下都可以正常工作,除了以0结尾的数字。它将这些转换为科学记数字格式: public static Object fromJson(HttpResponse response, Class classOf) throws IOException { InputStream instream = response.getResponseInputStream(); Object obj = null; try { Reader reader = new InputStreamReader(instream, HTTP.UTF_8); Gson gson = new Gson(); obj = gson.fromJson(reader, classOf); Logger.d(TAG, “json –> “+gson.toJson(obj)); } catch (UnsupportedEncodingException e) { Logger.e(TAG, […]

如何从BindingResult获取控制器中的错误文本

我有一个返回JSON的控制器。 它采用一种forms,通过弹簧注释validation自己。 我可以从BindingResult获取FieldError列表,但它们不包含JSP将在标记中显示的文本。 如何通过JSON发送错误文本? @RequestMapping(method = RequestMethod.POST) public @ResponseBody JSONResponse submit(@Valid AnswerForm answerForm, BindingResult result, Model model, HttpServletRequest request, HttpServletResponse response) { if (result.hasErrors()) { response.setStatus(HttpServletResponse.SC_BAD_REQUEST); JSONResponse r = new JSONResponse(); r.setStatus(JSONResponseStatus.ERROR); //HOW DO I GET ERROR MESSAGES OUT OF BindingResult??? } else { JSONResponse r = new JSONResponse(); r.setStatus(JSONResponseStatus.OK); return r; } } JSONREsponse类只是一个POJO […]

Spring 3.0使用jackson消息转换器进行JSON响应

我将我的messageconverter配置为jackson的 class Foo{int x; int y} 并在控制器中 @ResponseBody public Foo method(){ return new Foo(3,4) } 从那个我期望从服务器返回一个JSON字符串{x:’3’,y:’4′},没有任何其他配置。 但得到我的ajax请求的404错误响应 如果使用@ResponseBody注释该方法,则将返回类型写入响应HTTP正文。 返回值将使用HttpMessageConverters转换为声明的方法参数类型。 我错了吗 ? 或者我应该使用序列化程序将我的响应对象转换为Json字符串,然后将该字符串作为响应返回。(我可以正确地进行字符串响应)或者我应该进行其他配置吗? 比如为Foo类添加注释 这是我的conf.xml

如何使用Moxy和Jersey从HashMap返回JSON对象

我使用Jersey 2.17和Moxy,我有以下function: @Produces(APPLICATION_JSON) @Restricted public List getFriends( @PathParam(“user”) String user ) { return userDAO.getFriends(user); } User.preferences是一个HashMap 。 它适用于几乎所有对象,除了HashMap ,它被翻译成: “偏好”:{ “条目”:[{ “键”:{ “类型”: “串”, “值”: “语言”}, “值”:{ “类型”: “串”, “值”: “恩”}},{ “关键”:{ “类型”: “串”, “值”: “国”}, “值”:{ “类型”: “串”, “值”: “US”} }]} 但我真的想要返回的只是一个javascript对象,如: 喜好:{ “语言”: “恩”, “国”: “US”} 我怎样才能做到这一点?

JSON到JSON转换器

我有一个场景。 所需的输入和输出是JSON。 // Input { “OldObject”: { “Time”: 1351160457922, “Name”: “OName”, “quantity”: 100, “price”: 10 } } // Output { “NewObject”: { “Time”: 1351160457922, “Title”: “OName”, “quantity”: 100 } } 我需要一些转换代码或最好是xslt类型的语言来将json从一种格式转换为另一种格式。 这个变压器也需要快速,因为转换将在运行中完成。 编辑 我没有接收到的INPUT对象的定义,它可能在运行时更改。 但如果需要,我可以使用OUTPUT对象的类。 我试图以json – > xml – > xslt – > xml – > json的方式执行此操作 ,但此时每秒接收大约1000个对象,此过程可能会产生开销。 我也不能使用JavaScript,因为myApp是基于Windows的简单java应用程序 ,使用JavaScript可能会导致开销。