Tag: json

使JsonNode可序列化

这似乎很简单,但我没有得到序列化的JsonNode反序列化。 这是我的测试课 import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; import java.io.IOException; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import java.io.Serializable; public class Foo implements Serializable { private String string; private transient JsonNode jsonNode; public Foo(String string, JsonNode jsonNode) { this.string = string; this.jsonNode = jsonNode; } private void writeObject(ObjectOutputStream out) throws IOException { out.defaultWriteObject(); if (this.jsonNode != null) out.writeObject((new ObjectMapper()).writeValueAsBytes(this.jsonNode)); // […]

Java JSONObject获取子项

我想在我的网站上创建gmaps。 我找到了,如何获得坐标。 { “results” : [ { // body “formatted_address” : “Puławska, Piaseczno, Polska”, “geometry” : { “bounds” : { “northeast” : { “lat” : 52.0979041, “lng” : 21.0293984 }, “southwest” : { “lat” : 52.0749265, “lng” : 21.0145743 } }, “location” : { “lat” : 52.0860667, “lng” : 21.0205308 }, “location_type” : “GEOMETRIC_CENTER”, “viewport” […]

限制REST API的JSON响应中的字段?

我正在使用Spring和Java并实现基于REST的服务。 我有一组为移动,iPad和Web开发的开发人员。 考虑我有一个豆子 Class User{ private String Name; private Integer id; private String photoURL; private ArrayList ProjectName; private ArrayList TechnologyList; private ArrayList InterestList; //Getters and setters } 虽然Web开发人员需要整个领域,而移动开发人员只需要两个字段,而iPad需要移动和网络之间的东西。 由于我使用jackson作为解析器,有没有办法在请求控制器时我可以指定我需要的所有数据并避免其他数据。 例如,考虑我做一个GET请求 GET>http://somedomain.com/users?filter=name,id,photoUrl 这给我带来了类似的JSON结构 { “name”:”My Name”, “id”:32434, “photoUrl”:”/sss/photo.jpg” } Sameway如果有人要求更多字段,可以过滤它们。 请让我知道如何做到这一点,以便我的API保持通用和可用于所有人。

将数据结构从java传递给perl(反之亦然)

几天前我问过将数据结构从java传递给perl,反之亦然,其中一个recos是JSON。 我玩它(主要使用Gson for java),看起来相当不错。 唯一的问题是我在我的数据结构中有引用(对于同一数据结构中的其他对象)。 目前,每个这样的引用都被“完全翻译”,所以实际上每个对象都被重复多次,并且你不能告诉所有那些指向同一个对象的引用。 有没有办法将信息从java传递给per,反之亦然,最好是以人类可读的格式,这也保留了有关引用的数据而不是重复值?

Spring在@RequestBody中反序列化一个LocalDate与@RequestParam中的一个不同 – 为什么,它们可以相同吗?

问题:Spring似乎对LocalDate使用不同的反序列化方法,具体取决于它是出现在@RequestBody还是请求@ReqestParam – 这是否正确,如果是这样,有没有办法在整个应用程序中将它们配置为相同? 背景:在我的@RestController ,我有两个方法 – 一个GET和一个POST。 GET需要一个LocalDate类型的请求参数(“date”); POST需要一个JSON对象,其中一个键(“date”)的类型为LocalDate 。 他们的签名类似于以下内容: @RequestMapping(value = “/entity”, method = RequestMethod.GET) public EntityResponse get( Principal principal, @RequestParam(name = “date”, required = false) LocalDate date) @RequestMapping(value = “/entity”, method = RequestMethod.POST) public EntityResponse post( Principal principal, @RequestBody EntityPost entityPost) public class EntityPost { public LocalDate date; } 我已经按如下方式配置了我的ObjectMapper: @Bean public […]

Spring数据rest – Json中的禁用自我链接(HAL)

我是spring-data-rest的新手。 在我的应用程序中,当我rest时,我正在获取json,其中包括自我链接和外键表的链接。 但我想要json而不是链接。 我使用telosys工具生成器生成了我的代码。 这是我的JSON,当我对数据库中的“商品”表进行REST调用时,我得到了什么: { “id” : 1, “rate”: 300, “type”: “item”, “shortDescription”: “test”, “longDescription”: “test test”, “_links”: { “self”: { “href”: “http://localhost:8080/sportsrest/merchandises/1” }, “listOfMerchandiseAttribute”: { “href”: “http://localhost:8080/sportsrest/merchandises/1/listOfMerchandiseAttribute” }, } } 但是,我想获得listOfMerchandiseAttribute的JSON,而不是获取“listOfMerchandiseAttribute”的链接。 listOfMerchandiseAttribute是我在数据库中的另一个表 那就是我希望我的json像这样: { “id”: 1, “rate”: 300, “type”: “item”, “shortDescription”: “test”, “longDescription”: “test test”, “_links”: { “self”: { “href”: “http://localhost:8080/sportsrest/merchandises/1” }, “listOfMerchandiseAttribute”: […]

使用没有注释的@JsonIdentityInfo

我使用Jackson 2.2.3将POJO序列化为JSON。 然后我遇到了问题,我无法序列化递归结构……我通过使用@JsonIdentityInfo =>解决了这个问题。 但是,我不希望这个注释放在我的POJO之上。 所以我的问题是:是否还有其他可能设置我的ObjectMapper的默认行为来为每个POJO使用该function? 所以我想转换这个注释代码 @JsonIdentityInfo(generator=ObjectIdGenerators.IntSequenceGenerator.class, property=”@id”) 喜欢的东西 ObjectMapper om = new ObjectMapper(); om.setDefaultIdentityInfo(ObjectIdGenerators.IntSequenceGenerator.class, “@id”); 有任何想法吗?

用于Java的增量流式JSON库

任何人都可以推荐一个Java的JSON库,它允许我以非阻塞的方式提供数据块吗? 我已经阅读了一个更好的Java JSON库和类似的问题,并没有找到我想要的。 基本上,我想要的是一个库,它允许我做类似以下的事情: String jsonString1 = “{ \”A broken”; String jsonString2 = ” json object\” : true }”; JSONParser p = new JSONParser(…); p.parse(jsonString1); p.isComplete(); // returns false p.parse(jsonString2); p.isComplete(); // returns true Object o = p.getResult(); 请注意,实际的键名称(“A broken json object”)在各段之间分开。 我发现的最接近的是async-json-library , 几乎完全符合我的要求,除了它无法恢复实际字符串或其他数据值在片段之间分割的对象。

将Java对象转换为JSON对象时的性能问题

在完成将Java对象转换为JSON的确切任务之前,我已经在下面的示例中进行了测试。 使用Jackson将Java对象转换为JSON 我一直在寻找更好的性能(转换时间应该非常少)。 本文显示了此答案中不同API之间性能的统计信息。 我的发现是例如我提到的第一个链接(记录很少): ValueData object = new ValueData(); List information = new ArrayList(); ValueItems v1 = new ValueItems(String.valueOf(Calendar.getInstance().getTimeInMillis()), “feat1”, 1, “data1”); ValueItems v2 = new ValueItems(String.valueOf(Calendar.getInstance().getTimeInMillis()), “feat2”, 2, “data2”); ValueItems v3 = new ValueItems(String.valueOf(Calendar.getInstance().getTimeInMillis()), “feat3”, 3, “data3”); ValueItems v4 = new ValueItems(String.valueOf(Calendar.getInstance().getTimeInMillis()), “feat4”, 4, “data4”); ValueItems v5 = new ValueItems(String.valueOf(Calendar.getInstance().getTimeInMillis()), “feat5”, 5, “data5”); […]

使用thrift json序列化将对象转换为JSON字符串

我是节俭的新手。 我需要使用Thrift JSON序列化将我的数据对象转换为JSON string 。 我试过这种方式。 TSerializer serializer = new TSerializer(new TSimpleJSONProtocol.Factory()); String json = serializer.toString(object_name); 在这里是一个错误, object_name应该在TBase 。 我该如何解决这个问题?