Tag: json

将JSON反序列化为未知类型的集合

我正在用Java编写一个程序,通过调用某些方法向外部API发出请求。 这些方法中的每一个都返回不同的JSON结构,它还取决于传递的参数。 我的问题是,是否有一些方法可以使用Gson反序列化响应字符串,而无需为每个方法编写不同的类。 如果不是Gson,我可以使用哪个其他库? 谢谢。

如何使用Jackson或任何其他api反序列化对象数组?

我有一个模型定义,我需要映射jsonArray。模型如下: @JsonPropertyOrder({ “Command”, “Created”, “Id”, “Image”, “Labels”, “Names”, “Ports”, “Status” }) public class Container { @JsonProperty(“Command”) private String Command; @JsonProperty(“Created”) private long Created; @JsonProperty(“Id”) private String Id; @JsonProperty(“Image”) private String Image; @JsonProperty(“Labels”) private List Labels; @JsonProperty(“Names”) private List Names = new ArrayList(); @JsonProperty(“Ports”) private List Ports = new ArrayList(); @JsonProperty(“Status”) private String Status; //Getters and […]

如何将ObjectId序列化为JSON?

我想将Product类的ObjectId序列化为JSON。 我得到了以下JSON: [{“name”:”Play for Java: Covers Play 2″,”type”:”Book”,”company”:”Manning Publications”,”price”:30.0,”imagePath”:”public/images/play-for-java.png”,”rating”:4.5,”category”:”Computer”,”author”:”Nicolas Leroux”,”publicationDate”:1396224000000,”numPage”:320,”_id”:539da7a6370882f10d5c2777}] 您可以注意到”_id”没有被正确序列化,它应该是”539da7a6370882f10d5c2777″ (带双引号)而不仅仅是539da7a6370882f10d5c2777 。 因此,我尝试实现自己的ObjectIdSerializer如下: import java.io.IOException; import org.bson.types.ObjectId; import com.fasterxml.jackson.core.JsonGenerator; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.JsonSerializer; import com.fasterxml.jackson.databind.SerializerProvider; public class ObjectIdSerializer extends JsonSerializer { @Override public void serialize(ObjectId value, JsonGenerator jsonGen,SerializerProvider provider) throws IOException, JsonProcessingException { jsonGen.writeString(value.toString()); } } 它给了我不同的错误: java.lang.String cannot be cast to org.bson.types.ObjectId (through […]

如何将此JSON响应转换为POJO?

使用此JSON,自动JSON到POJO失败了。 请注意,项目数量因一个请求而异。 在这里,我包括2项JSON响应。 { “status”: 1, “complete”: 1, “list”: { “734233858”: { “item_id”: “734233858”, “resolved_id”: “734233858”, “given_url”: “https://blog.openshift.com/developing-single-page-web-applications-using-java-8-spark-mongodb-and-angularjs/”, “given_title”: “”, “favorite”: “0”, “status”: “0”, “time_added”: “1466459879”, “time_updated”: “1466459862”, “time_read”: “0”, “time_favorited”: “0”, “sort_id”: 1, “resolved_title”: “Developing Single Page Web Applications using Java 8, Spark, MongoDB, and AngularJS”, “resolved_url”: “https://blog.openshift.com/developing-single-page-web-applications-using-java-8-spark-mongodb-and-angularjs/”, “excerpt”: “In this post you will […]

如何在java中迭代JSONArray

我想从JSONArray中提取值。 JSONArray有N个行和列。 ObjectMapper mapper = new ObjectMapper(); DynamicForm dynamicForm = new DynamicForm(); dynamicForm = dynamicForm.bindFromRequest(); Dynamic dynamic = dynamicForm.get(); //List list = new ArrayList(); //List iterate=new ArrayList(); String data = dynamic.getData().get(“content”).toString(); try { JSONArray jsonArray = new JSONArray(data); for (int i = 0; i < jsonArray.length(); i++) { System.out.println(jsonArray.get(i)); } }catch (JSONException e) { // […]

Google Maps Query返回的JSON包含\ x26等编码字符(如何解码?)

在Java应用程序中,我从J27(来自谷歌地图)获得了像\x26这样的字符,我想将其转换为原始字符& 。 据我所知,这是一个UTF-8表示法,但我不完全确定。 在源JSON中可以出现各种编码字符(例如\x3c/div\x3e )。 我怎么解码他们? 我试过了: String json = “\\x3c/div\\x3e”; byte [] b = json.getBytes(“UTF-8″); json = new String(b,”UTF-8”); 没运气。 有任何想法吗?

Android OutOfMemoryError – 加载JSON文件

我正在处理的应用程序需要读取一个大小为1.5到3 MB的JSON文件。 打开文件并将数据转换为字符串似乎没有问题,但是当它尝试将字符串转换为JSONArray时,会抛出OutOfMemoryErrors。 例外看起来像这样: E/dalvikvm-heap( 5307): Out of memory on a 280-byte allocation. W/dalvikvm( 5307): Exception thrown (Ljava/lang/OutOfMemoryError;) while throwing internal exception (Ljava/lang/OutOfMemoryError;) 关于这一点的一个奇怪的事情是崩溃只发生在应用程序运行的第二次或第三次,让我相信每次应用程序关闭时应用程序消耗的内存都不会被垃圾收集。 任何洞察我如何解决这个问题将不胜感激。 我对以块的forms加载文件的想法持开放态度,但我不太清楚这种任务的最佳方法是什么。 谢谢

使用java读取json文件时的java.lang.ClassCastException

我想使用java读取一个名为(results.json)的.json文件,并通过键’title’提取数组的值。 这是我的.json文件 [ { “title”: { “0”: “UNIQUE SIGNED HARRY POTTER DELUXE VOLUME SALESMAN DUMMY” } }, { “title”: { “0”: “Harry Potter and the Philosopher’s Stone by JK Rowling – Uncorrected Proof/ARC!!” } }, { “title”: { “0”: “Huge Lego Lot 532 Lbs Pounds Legos Star Wars Castle Harry Potter City Minifigs” } } […]

在C#中反序列化不同类型对象的多个JSON数组

我有一个JSON字符串,其中包含固定数量的不同对象数组(使用JSONObjects和JSONArrays在Java中创建): [ [ //The first type of object { “Initials”:”MUS” }, { “Initials”:”NA” } ], [ //The second type { “ToolId”:17 }, { … } ] … //etc. ] 所以我创建了一些Dummy-classes,它们具有与数组中对象相对应的属性,它们可以工作: private class DummyEmployee { public string Initials { get; set; } } //etc. 但我无法弄清楚应该如何设计容器类。 这就是我做的方式: private class DataContainer { public List Employees { get; set; […]

使用Android的Azure移动服务

我对Android开发和Azure移动服务都很陌生。 我对Java有很好的了解,所以Android开发并不算太难。 虽然,我正在努力获得使用Azure移动服务的良好知识。 我对REST API知之甚少,但如果需要,我们可以很快学会。 我的主要关注点/问题如下: 我可以单独使用移动服务数据和API构建我的Android应用程序吗? 即简单的表值和基本的CRUD API? 如果没有,我应该如何构建应用程序? 我想满足多列查询,表关系(1 .. n,inheritance),我也想使用JSON对象作为更轻量级通信的参数,而不是传递我的完整Java对象。 此外,是否可以设置SSL? 任何帮助,将不胜感激。