Tag: json

Java向json对象添加函数而不使用引号。

我正在java中构建一个json对象。 我需要将一个函数传递给我的javascript并使用jquery $ .isFunction()进行validation。 我遇到的问题是我必须将json对象中的函数设置为字符串,但json对象将周围的引号与对象一起传递,从而导致函数无效。 如何在脚本中没有引号的情况下执行此操作。 示例Java JSONObject json = new JSONObject(); json.put(“onAdd”, “function () {alert(\”Deleted\”);}”); Jquery脚本 //onAdd output is “function () {alert(\”Deleted\”);}” //needs to be //Output is function () {alert(\”Deleted\”);} //in order for it to be a valid function. if($.isFunction(onAdd)) { callback.call(hidden_input,item); } 有什么想法吗?

如何访问JSONObject子字段?

我感到愚蠢,但我一直在寻找这个。 我正在使用谷歌地理编码器API,我需要一些json响应的帮助。 这是我拥有的JSONObject: { “viewport”: { “southwest”: { “lng”: -78.9233749802915, “lat”: 36.00696951970851 }, “northeast”: { “lng”: -78.92067701970849, “lat”: 36.0096674802915 } }, “location_type”: “ROOFTOP”, “location”: { “lng”: -78.922026, “lat”: 36.0083185 } } 如何将“位置”子字段拉入自己的变量? 我试过jsonObjectVariable.getString(“location”); 和jsonObjectVariable.getDouble()等但它没有正确返回。 你在json对象中称为子字段是什么? 我已经读过你可以使用object.subobject语法访问子字段,但我只是没有得到我需要的东西。 (我使用json-org作为库) 谢谢您的帮助!

流式写Json

我在ArrayList有JsonObject 。 我需要将这些JsonObject添加到JsonArray并将其写入文件中。 我正在使用Gson ,下面是我的代码。 private void myWriter(List jsonObjectHolder, int number) throws IOException { System.out.println(“Starting to write the JSON File”); //Add everything into a JSONArray JsonArray jsonArrayNew = new JsonArray(); for(int i=0;i<jsonObjectHolder.size();i++) { //System.out.println("inside array: "+i); JsonObject o = jsonObjectHolder.get(i); System.out.println("inside array "+i+": "+o.get("title")); jsonArrayNew.add(jsonObjectHolder.get(i)); } System.out.println("Size: "+jsonArrayNew.size()); //Write it to the File File file= […]

Log4j 2 JSON配置

我有一个XML配置,我想转换为JSON。 Log4j没有加载JSON版本,我找不到任何拼写错误。 我的测试代码只记录ERROR级别和DEBUG级别消息。 只显示ERROR消息并且没有生成文件输出 – 我假设框架回退到默认初始化而不是JSON文件。 注意:log4j2-test.json文件位于类路径中。 我在这里使用的是apache-log4j-2.0-beta9二进制文件。 XML配置如下: ${sys:user.home}/logs test.log %d %p %logger{36} [%t] %m%n 和JSON配置是: { “configuration”: { “name”: “Default”, “properties”: { “property”: { “name”:”Directory”, “value”:”${sys:user.home}/logs” }, “property”: { “name”:”FileName”, “value”:”test.log” } }, “appenders”: { “Console”: { “name”:”Console”, “target”:”SYSTEM_OUT”, “PatternLayout”: { “pattern”:”%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} – %msg%n” } }, “RollingFile”: { “name”:”File”, “fileName”:”${Directory}/${FileName}”, […]

jackson将对象转换为映射保留日期类型

我使用Jackson ObjectMapper将Java Bean转换为Map 。 但是,它不保留Date对象,而是转换为Long 。 这是失败的测试用例, @Test public void testObjectToMapDate() { User user = new User(); user.setDob(new Date()); ObjectMapper mapper = new ObjectMapper(); Map map = mapper.convertValue(user, Map.class); assertTrue(map.get(“dob”) instanceof Date); } 有一个简单的解决方案吗?

Unicode字符在Java JSON解析中显示为问号

过去几天我一直在搜索这个,但我认为我无法找到正确的指针。 如果发现重复,请将其与相应的问题合并。 我很擅长使用JSON,作为我的一个项目的一部分,我需要解码JSON文件并对其进行进一步处理。 但是,当我尝试使用Json简单库进行解码时,我在解析的对象中得到了一些奇怪的问号而不是实际的字符。 示例代码如下所示: String str = “{\”alias\”: [\”Evr\u00f3pa\”, \”\u05d0\u05d9\u05e8\u05d5\u05e4\”]}”; JSONParser parser = new JSONParser(); JSONObject jsonObject = (JSONObject)parser.parse(str); System.out.println(jsonObject) gives {“alias”:[“Evrópa”,”?????”]} 我尝试使用Json-lib也有相同的结果。 谢谢您的帮助。

jackson – json编码双精度控制精度

我正在使用double值数组编码复杂的Map结构。 高精度并不重要,输出大小也是如此,所以我试图使用提供的DecimalFormat来获取JSON工具(在本例中为Jackson)来序列化double值。 以下是我最好的镜头,但由于对象映射器没有选择序列化程序来编码数组,因此失败了: class MyTest { public class MyDoubleSerializer extends JsonSerializer { public void serialize(double[] value, JsonGenerator jgen, SerializerProvider provider) throws IOException, JsonProcessingException { for (double d : value) { jgen.writeStartArray(); jgen.writeRaw( df.format( d ) ); jgen.writeEndArray(); } } } @Test public void test1() throws Exception { ObjectMapper mapper = new ObjectMapper(); SimpleModule module = […]

针对XML Schema(XSD)validationJSON

是否可以在Java中validationJSON和XSD? 我有一个应用程序,我收到JSON响应,我想对现有的XSD进行validation。 我的应用程序的另一部分使用XML,这就是为什么如果它们都可以对现有的XSD进行validation最简单的原因。

改进如何打印响应JSON

我正在使用Retrofit,我希望能够访问从服务器返回的JSON响应。 有人可以告诉我。 谢谢

使用Jackson将JSON字符串转换为Java映射时出错

我有这段小代码,我正在尝试将JSON字符串转换为地图。 String json = “[{‘code’:’:)’,’img’:”}]”; ObjectMapper mapper = new ObjectMapper(); Map userData = mapper.readValue(json,new TypeReference<HashMap>() { }); 但它返回以下错误: org.codehaus.jackson.map.JsonMappingException: Can not deserialize instance of java.util.HashMap out of START_ARRAY token at [Source: java.io.StringReader@1b1756a4; line: 1, column: 1] at org.codehaus.jackson.map.JsonMappingException.from(JsonMappingException.java:163) at org.codehaus.jackson.map.deser.StdDeserializationContext.mappingException(StdDeserializationContext.java:198) at org.codehaus.jackson.map.deser.MapDeserializer.deserialize(MapDeserializer.java:151) at org.codehaus.jackson.map.deser.MapDeserializer.deserialize(MapDeserializer.java:25) at org.codehaus.jackson.map.ObjectMapper._readMapAndClose(ObjectMapper.java:2131) at org.codehaus.jackson.map.ObjectMapper.readValue(ObjectMapper.java:1402) at CodeSnippet_19.run(CodeSnippet_19.java:13) at org.eclipse.jdt.internal.debug.ui.snippeteditor.ScrapbookMain1.eval(ScrapbookMain1.java:20) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) […]