Questions tagged «gson»

Gson是Google的开源库,用于将Java对象与JSON进行序列化和反序列化。

1
您是否可以避免Gson将“ <”和“>”转换为Unicode转义序列?
我注意到Gson将字符串“ &lt;”转换为JSON输出中的Unicode转义序列。您能以某种方式避免这种情况吗,还是必须始终在JSON中转义“ &lt;”和“&gt;”之类的字符? 考虑下面的示例{"s":"\u003c"}:我只想 {"s":"&lt;"}。 public static void main(String[] args) { Gson gson = new GsonBuilder().create(); System.out.println(gson.toJson(new Foo())); } static class Foo { String s = "&lt;"; } 上下文:我正在创建的JSON片段与HTML页面甚至JavaScript无关;它只是用来将某些结构化信息传递给另一软件(嵌入在设备中,用C编写)。
127 java  json  gson 

11
“预期为BEGIN_OBJECT,但位于第1行第1列的STRING处”
我有这种方法: public static Object parseStringToObject(String json) { String Object = json; Gson gson = new Gson(); Object objects = gson.fromJson(object, Object.class); parseConfigFromObjectToString(object); return objects; } 我想解析一个JSON: public static void addObject(String IP, Object addObject) { try { String json = sendPostRequest("http://" + IP + ":3000/config/add_Object", ConfigJSONParser.parseConfigFromObjectToString(addObject)); addObject = ConfigJSONParser.parseStringToObject(json); } catch …
126 java  json  parsing  gson 

4
如何使用GSON或Java中的另一个JSON库反序列化列表?
我可以List&lt;Video&gt;在GAE的servlet中序列化一个,但不能反序列化它。我究竟做错了什么? 这是我在GAE中的视频课程,该课程已序列化: package legiontube; import java.util.Date; import javax.jdo.annotations.IdGeneratorStrategy; import javax.jdo.annotations.IdentityType; import javax.jdo.annotations.PersistenceCapable; import javax.jdo.annotations.Persistent; import javax.jdo.annotations.PrimaryKey; @PersistenceCapable(identityType = IdentityType.APPLICATION) public class Video { @PrimaryKey private String id; @Persistent private String titulo; @Persistent private String descricao; @Persistent private Date date; public Video(){}; public Video(String id, String titulo, String descricao, Date date) …
121 java  json  gson 

7
使用GSON解析JSON时使用枚举
这与我之前在这里问过的上一个问题有关 使用Gson进行JSON解析 我正在尝试解析相同的JSON,但是现在我对类做了一些更改。 { "lower": 20, "upper": 40, "delimiter": " ", "scope": ["${title}"] } 我的课程现在看起来像: public class TruncateElement { private int lower; private int upper; private String delimiter; private List&lt;AttributeScope&gt; scope; // getters and setters } public enum AttributeScope { TITLE("${title}"), DESCRIPTION("${description}"), private String scope; AttributeScope(String scope) { this.scope = …
119 java  json  gson 

5
使用Gson将JSON数组解析为java.util.List
我有一个JsonObject名为"mapping"包含以下内容: { "client": "127.0.0.1", "servers": [ "8.8.8.8", "8.8.4.4", "156.154.70.1", "156.154.71.1" ] } 我知道我可以用以下方法获得阵列"servers": mapping.get("servers").getAsJsonArray() 现在我想将其解析JsonArray为java.util.List... 最简单的方法是什么?
119 java  json  parsing  gson 

12
使用改造使用GSON获取嵌套的JSON对象
我正在使用Android应用程序中的API,所有JSON响应均如下所示: { 'status': 'OK', 'reason': 'Everything was fine', 'content': { &lt; some data here &gt; } 问题是,我所有的POJO有status,reason字段,里面content领域是真正的POJO我想要的。 有什么方法可以创建Gson的自定义转换器来提取始终的content字段,因此改造会返回适当的POJO?
111 java  android  json  gson  retrofit 

4
使用GSON解析JSON数组
我有一个像这样的JSON文件: [ { "number": "3", "title": "hello_world", }, { "number": "2", "title": "hello_world", } ] 在文件具有根元素之前,我将使用: Wrapper w = gson.fromJson(JSONSTRING, Wrapper.class); 代码,但我不认为如何对Wrapper类进行编码,因为根元素是数组。 我尝试使用: Wrapper[] wrapper = gson.fromJson(jsonLine, Wrapper[].class); 与: public class Wrapper{ String number; String title; } 但是还没有运气。使用这种方法我还能怎么读呢? PS我有这个工作使用: JsonArray entries = (JsonArray) new JsonParser().parse(jsonLine); String title = ((JsonObject)entries.get(0)).get("title"); 但是我更想知道如何使用这两种方法(如果可能)。
110 java  arrays  json  gson 



4
使用GSON将JSON样式属性名称转换为Java CamelCase名称
我正在使用GSON将获取的JSON数据转换为Java对象。在我所有的测试中,它都运行良好。问题在于我们的真实对象具有一些名为is_online的属性。GSON仅在名称完全相等时才映射它们,最好将GSON将名称转换为Java驼峰,例如isOnline。 在创建JSON数据时,这似乎是可能的,驼峰式大小写将转换为JSON中下划线分隔的单词。但是我找不到另一种方法来指定此方法。
106 java  json  gson  camelcasing 

3
使用GSON的Json的Kotlin数据类
我有这样的Java POJO类: class Topic { @SerializedName("id") long id; @SerializedName("name") String name; } 我有一个像这样的Kotlin数据类 data class Topic(val id: Long, val name: String) 如何在java变量中提供json key给kotlin data class诸如@SerializedName注解之类的任何变量?
105 java  json  gson  kotlin  data-class 

10
使用JsonReader.setLenient(true)在第1行第1列路径$处接受格式错误的JSON
这是什么错误?我怎样才能解决这个问题?我的应用程序正在运行,但无法加载数据。这是我的错误:使用JsonReader.setLenient(true)在第1行第1列路径$接受格式错误的JSON 这是我的片段: public class news extends Fragment { private RecyclerView recyclerView; private ArrayList&lt;Deatails&gt; data; private DataAdapter adapter; private View myFragmentView; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { myFragmentView = inflater.inflate(R.layout.news, container, false); initViews(); return myFragmentView; } private void initViews() { recyclerView = (RecyclerView) myFragmentView.findViewById(R.id.card_recycler_view); RecyclerView.LayoutManager layoutManager = …
105 android  json  gson  retrofit 

4
每个字段有多个GSON @SerializedName?
Gson中有什么方法可以将多个JSON字段映射到单个Java对象成员变量? 假设我有一个Java类... public class MyClass { String id; String name; } 我想将此单一类与两个不同的服务一起使用。但是,这两种服务在返回数据的方式上有所不同... { "id": 2341, "person": "Bob" } ...和... { "id": 5382, "user": "Mary" } ... 分别。 有什么方法可以将JSON字符串中的"person"和"user"字段都映射到nameJava对象中的字段? (注意:我只需要从JSON字符串转换为Java对象-无需其他方法。)
104 java  json  gson 

9
gson的多态性
我在使用Gson反序列化json字符串时遇到问题。我收到一系列命令。该命令可以是start,stop或其他类型的命令。我自然具有多态性,并且start / stop命令从command继承。 如何使用gson将其序列化回正确的命令对象? 似乎我只获得基本类型,即声明的类型,而从未获得运行时类型。

3
使用TypeAdapter对对象中的一个变量(多个变量)进行Gson自定义Seralizer
我已经看到了许多使用自定义TypeAdapter的简单示例。最有用的是Class TypeAdapter&lt;T&gt;。但这还没有回答我的问题。 我想自定义对象中单个字段的序列化,并让默认的Gson机制负责其余的工作。 出于讨论目的,我们可以使用此类定义作为我要序列化的对象的类。我想让Gson序列化基类的前两个类成员以及所有公开的成员,并且我想为下面显示的第3个和最后一个类成员进行自定义序列化。 public class MyClass extends SomeClass { @Expose private HashMap&lt;String, MyObject1&gt; lists; @Expose private HashMap&lt;String, MyObject2&gt; sources; private LinkedHashMap&lt;String, SomeClass&gt; customSerializeThis; [snip] }

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.