Tag: json

使用map超过1个深度级别,从csv转换为json

我有一个csv文件,其内容如下: Fruit, Mango Fruit, Apple Car, Audi Apple, Red Color, Brown 我想最终以这样的格式转换它: “hierarchy” : [{ “label”: “Fruit”, “children” : [ {label: “Mango”}, {label: “Apple”, “children”: [ {label:”Red”}]} ] }, { “label” : “Car”, “children” : [ {label: “Audi”} ] }, { “label” : “Color”, “children” : [ {label: “Brown”} ] }] 为此,我在地图中插入了值: StringBuilder sb = […]

将嵌套的json转换为点符号json

我有一个服务,我得到一个json字符串响应,如下所示 { “id”: “123”, “name”: “John” } 我使用HttpClient消耗rest调用并将json字符串转换为Map ,如下所示。 String url= “http://www.mocky.io/v2/5979c2f5110000f4029edc93”; HttpClient client = HttpClientBuilder.create().build(); HttpGet httpGet = new HttpGet(url); httpGet.setHeader(“Content-Type”, “application/json”); HttpResponse httpresponse = client.execute(httpGet); String response = EntityUtils.toString(httpresponse.getEntity()); ObjectMapper mapper = new ObjectMapper(); Map map = mapper.readValue(response, new TypeReference<Map>(){}); 从json字符串到HashMap的转换工作正常,但实际上我的要求是有时在主json中可能有一些嵌套的json,例如在下面的json我有一个额外的address键,这又是一个嵌套的json有city和town细节。 { “id”: “123”, “name”: “John”, “address”: { “city”: “Chennai”, “town”: “Guindy” } […]

如何通过jackson生成器html转义值

我们使用Spring及其内置的MappingJacksonHttpMessageConverter生成大量JSON对象。 太棒了 但是现在我想要html转义我的(任何类型)对象的String值以防止XSS。 那么,我该如何解决这个问题呢? 我首先想到我可以编写一个自定义的Object mapper并将其放入MappkingJacksonHttpMessageConverter中。 但是,writeValue接受一个Object,我不希望这样,我想让它的字段迭代。 我打赌jackson转换器也需要这样做,而不是自己这样做。 所以我想影响那一部分。 现在我最终得到了一个SerializerProvider接口。 ObjectMapper调用标准实现(StdSerializerProvider)。 所以我想在某处覆盖/影响负责设置值的方法。 那可能吗? 据我所知,很难扩展。 我无法覆盖StdSerializerProvider来覆盖ObjectMapper使用的方法。 也许我需要覆盖另一个? 或者,这可能是完全错误的,我需要从一个完全不同的角度来看待它? 有什么想法吗? 哦顺便说一句,自己实现SerializerProvider并创建一个委托给StdSerializerProvider的composit,可能是可能的,但我宁愿不这样做。 (我自己在实例化StdSerializerProvider时遇到了问题)。 任何想法都表示赞赏!

从远程网站读取JSON文件

我正在制作一个java程序,我正在寻找一种方法来检查是否有新版本可用我在parse.com上创建了一个帐户。 API: 点击 我完全在java上工作,我有点新,所以保持简单。 我创建了一个具有版本号的类,如果版本是beta,我现在需要一种方法将这两个值放入int和boolean并完成其余的处理。 我如何从parse.com类中获取值?

将JSONObject转换为JSONArray

我目前正在用JAVA学习一些android编程。 我的老师分享了这段代码,它将使用API​​,获取其JSON文件,并将其转换为JSONArray文件。 然后,他将遍历该JSONArray并将它们放入ArrayList,然后将它们显示在一个活动上。 问题是我正在使用的API会返回一个JSONObject文件,而我不知道如何正确地将其转换为JSONArray。 import android.util.Log; import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; import java.io.BufferedInputStream; import java.io.BufferedReader; import java.io.DataOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.UnsupportedEncodingException; import java.net.HttpURLConnection; import java.net.URL; import java.net.URLEncoder; import java.util.HashMap; public class JSONParser { String charset = “UTF-8”; HttpURLConnection conn; DataOutputStream wr; StringBuilder result; URL urlObj; JSONArray jObj = null; StringBuilder […]

多个相同返回类型的Jackson序列化器

我正在使用Jackson进行JSON序列化,并编写了一些自定义String序列化程序,一个用于类的每个getter方法。 每个方法返回相同的类型Set ,但每个都使用不同的序列化程序。 不幸的是,jackson没有使用每个序列化器,每个方法一个,但两个都使用一个序列化器。 它似乎采用按字母顺序排列的任何方法,并将其序列化器用于这两种方法。 我期望的是第一种方法注释的序列化器用于第一种方法,第二种方法注释的序列化器用于第二种方法。 调试似乎表明Jackson在地图中的序列化器中键入了方法的返回类型(两者都相同)。 一个例子: public class FooBar { private Set foos = new HashSet(); private Set bars = new HashSet(); @JsonProperty(“FooWrapper”) @JsonSerialize(contentUsing = FooSerializer.class) public Set getFoos() { return foos; } @JsonProperty(“BarWrapper”) @JsonSerialize(contentUsing = BarSerializer.class) public Set getBars() { return bars; } } 有关如何使用getFoos()获取getFoos()方法序列化以及使用FooSerializer序列化的getFoos()方法的任何建议? 在此示例中,将为两种方法调用BarSerializer 。 注意,如果我将其中一个方法的签名更改为另一个集合类型,以便它们不同 – 例如List – 序列化工作。 […]

Java对象图到JSON转换,带循环

如何将Java对象图转换为JSON,其中图形具有循环依赖/循环?

如何使用基于java.util.Map的类序列化Jackson

我有一个看起来像这样的课: @JsonFormat(shape=JsonFormat.Shape.OBJECT) public class MyMap implements Map { protected Map myMap = new HashMap(); protected String myProperty = “my property”; public String getMyProperty() { return myProperty; } public void setMyProperty(String myProperty) { this.myProperty = myProperty; } // // java.util.Map mathods implementations // … } 以及使用此代码的主要方法: MyMap map = new MyMap(); map.put(“str1”, “str2”); ObjectMapper mapper = […]

使用Groovy将bean序列化和反序列化为json

我已经通过groovy http://www.infoq.com/news/2014/04/groovy-2.3-json阅读了有关json的新闻。 所以我尝试使用本地方法(de)序列化包含日期的groovy bean。 但我有问题,使用JsonOutput.toJson(对象)和JsonObject.fromObject()与java.util.Date String jsonDat a= groovy.json.JsonOutput.toJson(contact) Contact reloadContact = new Contact(net.sf.json.JSONObject.fromObject(jsonData)) 在groovy 2.3+中使用本机方法的正确方法是什么? 否则,我可以去另一个像gson这样的图书馆( http://www.mkyong.com/java/how-do-convert-java-object-to-from-json-format-gson-api/ ) package test import groovy.json.JsonOutput import net.sf.json.JSONObject class JsonTest { public static void main(String[] args) { JsonTest test = new JsonTest() test.serialization() } public void serialization(){ Contact contact = new Contact() contact.name = ‘John’ contact.registration = Date.parse(‘dd/MM/yyyy’, […]

Jersey 2中的自定义MOXyJsonProvider无法正常工作?

我正在阅读Moxy的答案忽略json中的无效字段,并且方法匹配了我正在尝试做的事情,所以我决定试一试..我创建了一个function来禁用默认的ConfigurableMoxyJsonProvider; @Provider public class JsonFeature implements Feature { @Override public boolean configure(final FeatureContext context) { final String disableMoxy = CommonProperties.MOXY_JSON_FEATURE_DISABLE + ‘.’ + context.getConfiguration().getRuntimeType().name().toLowerCase(); context.property(disableMoxy, true); return true; } } 我创建了一个非常简单的自定义提供商; @Provider @Produces(MediaType.APPLICATION_JSON) @Consumes(MediaType.APPLICATION_JSON) public class JsonProvider extends MOXyJsonProvider { @Override protected void preWriteTo(Object object, Class type, Type genericType, Annotation[] annotations, MediaType mediaType, MultivaluedMap httpHeaders, […]