草庐IT

java - 如何将 LinkedTreeMap 转换为 gson JsonObject

对于java数据处理程序,我发送格式正确的JSON,但Spring、Java决定如何转换它看到的内容以及框架的组合我真的不应该去改变破坏JSON,以便一旦我能看到它,它变成了LinkedTreeMap,我需要将它转换成JsonObject。这不是将JSON序列化/反序列化为java对象,它的“最终形式”是一个gsonJsonObject,它需要能够处理任何有效的JSON。{"key":"value","object":{"array":["value1","pleasework"]}}是我一直在使用的示例,一旦我看到它,它就是一个.toString()到的LinkedTreeMap{k

java - Gson:需要一个字符串但是是 BEGIN_OBJECT

我正在尝试读取一个简单的JSON响应:{"response":"ok"}这是我的代码:JsonReaderreader=newJsonReader(newInputStreamReader(in,"UTF-8"));Stringresponse=null;booleansuccess=false;reader.beginObject();if(reader.hasNext()){Stringtoken=reader.nextName();if(token.equals("response")){response=reader.nextString();}else{reader.skip

java - 在不使用 POJO 的情况下使用 GSON 修改 json

我想修改一个json内容而不是将其转换成POJO。我正在使用GSON库。以下是用例:StringjsonString="[{\"key1\":\"Hello\",\"key2\":\"World\"},{\"key1\":\"Nice\",\"key2\":\"Town\"}]";JsonElementjsonElement=gson.fromJson(jsonString,JsonElement.class);有什么方法可以在每个数组中将key1的值设置为某个值(比如“测试”),而无需将其转换为POJO 最佳答案 这是我想到的最短

java - pojo 解析具有无效 java 名称的 gson

我正在使用来自google-api-client的youtubejson:{"apiVersion":"2.0","data":{"updated":"2011-01-05T13:48:33.146Z","totalItems":4,"startIndex":1,"itemsPerPage":1,"items":[{"id":"YfUzMkAlOBI","uploaded":"2010-12-29T16:50:47.000Z","updated":"2010-12-29T16:50:47.000Z","uploader":"devandroidcs","category":"Enter

java - 为什么 Gson 中的 TypeToken 构造如此奇怪?

我在用Gson解析object和json的时候,一个TypeToken的初始化好奇怪:TypecollectionType=newTypeToken>(){}.getType();我只知道这种格式:newTypeToken>().getType();,上面的大括号是做什么用的?提前致谢!P.S.我查看了TypeToken的源代码类,它是一个class(不是接口(interface)或抽象)并且没有任何构造函数,这意味着它使用no-parameterconstructor默认。P.S.2当我删除大括号时,它告诉我构造函数不可见。当我查看TypeToken类内部时,这是构造函数:prote

java - Google GSON 嵌套 HashMaps 反序列化

在我当前的项目中,我在android中使用GSON库,并且我遇到了嵌套map反序列化的问题。这是初始json的样子{"5":{"id":5,"name":"initialname","image_url":"uploads/71d44b5247cc1a7c56e62fa51ca91d9b.png","status":"1","flowers":{"7":{"id":7,"category_id":"5","name":"test","description":"somedescription","price":"1000","image_url":"uploads/test.png",

java - Gson 为特定类或字段序列化 null

我想为特定字段或类序列化null。在GSON中,选项serializeNulls()适用于整个JSON。例子:classMainClass{publicStringid;publicStringname;publicTesttest;}classTest{publicStringname;publicStringvalue;}MainClassmainClass=newMainClass();mainClass.id="101"//mainClasshasnoname.Testtest=newTest();test.name="testName";test.value=null;mai

java - 序列化接口(interface)列表 GSON

我在GSON中遇到了一些奇怪的行为。如果我有以下类结构:publicinterfaceAnimal{publicvoidnothing();}publicclassCatimplementsAnimal{privateStringname;publicCat(Stringname){super();this.name=name;}publicCat(){}@Overridepublicvoidnothing(){//TODOAuto-generatedmethodstub};}publicclassDogimplementsAnimal{privateStringname;public

java - 使用 Gson 反序列化 Map<String, Object> 字段

我有一个具有这种结构的用户对象:classUser{privateStringid;privateStringname;privateMapproperties;//GETTERS&SETTERS}我有一个具有这种结构的JSON字符串:{"user":{"id:"123456789","name:"azerty","emailHash":"123456789",//notusedinUserclass"properties":{"p1":1,"p2":"test","p3":[1,2,3,4],"p4":{etc...}}}}属性的键是字符串,属性的值可以是字符串、整数、数组、bool

java - 使用 Gson pretty-print JSON 字符串的问题

有人可以提出为什么会这样吗...我有一些代码可以漂亮地打印一些JSON。为此,我使用了Gsonlibrary。.然而,虽然这样通常效果很好,但有些字符似乎无法正确显示。这是演示问题的一段简单代码://CreatingtheJSONobject,andgettingasString:JsonObjectjson=newJsonObject();JsonObjectinner=newJsonObject();inner.addProperty("value","xpath('hello')");json.add("root",inner);System.out.println(json.t