相关疑难解决方法(0)

Gson:直接将String转换为JsonObject(无POJO)

似乎无法弄清楚这一点.我在GSON中尝试JSON树操作,但我有一个案例,我不知道或有一个POJO转换为字符串,在转换之前JsonObject.有没有办法直接从a StringJsonObject

我尝试了以下(Scala语法):

val gson = (new GsonBuilder).create

val a: JsonObject = gson.toJsonTree("""{ "a": "A", "b": true }""").getAsJsonObject
val b: JsonObject = gson.fromJson("""{ "a": "A", "b": true }""", classOf[JsonObject])
Run Code Online (Sandbox Code Playgroud)

a失败了,JSON被转义并解析为JsonString唯一,并 b返回一个空JsonObject.

有任何想法吗?

java json gson

288
推荐指数
6
解决办法
30万
查看次数

使用gson和null值反序列化

我试图用null值反序列化我自己的类.但我的代码不起作用.

我的json:

{"Text":null,"Code":0,"Title":"This is Sparta!"}
Run Code Online (Sandbox Code Playgroud)

在我的方法中,我执行以下操作:

this.setText(gson.fromJson(jsonObject.getString("Text"), String.class));
this.setTitle(gson.fromJson(jsonObject.getString("Title"), String.class));
this.setCode(gson.fromJson(jsonObject.getString("Faccode"), Integer.class))
Run Code Online (Sandbox Code Playgroud)

我没有反序列化整个对象,因为也可以有一个List<T>.

错误:

myapp W/System.err? com.google.gson.JsonSyntaxException: com.google.gson.stream.MalformedJsonException: Use JsonReader.setLenient(true) to accept malformed JSON at line 1 column 6 path $
myapp W/System.err? at com.google.gson.Gson.assertFullConsumption(Gson.java:786)
myapp W/System.err? at com.google.gson.Gson.fromJson(Gson.java:776)
myapp W/System.err? at com.google.gson.Gson.fromJson(Gson.java:724)
myapp W/System.err? at com.google.gson.Gson.fromJson(Gson.java:696)
Run Code Online (Sandbox Code Playgroud)

android gson

12
推荐指数
2
解决办法
4万
查看次数

如何从Java中的某些键获取价值?

我不是Java开发人员,但是现在我正在用它编写一些测试,并且我遇到了简单的问题(我认为这对于"javaGuys"来说很简单).

在我的类Test中我得到的变量包含一些在JavaScript中看起来像对象的字符串(我的意思是JSON).这里是:

String myStringThatLooksLikeJSON = client.getStartSessionContent();
Run Code Online (Sandbox Code Playgroud)

在调试模式下,字符串的内容......:

myStringThatLooksLikeJSON = "{"context":"blabla","count":0,"value":[{"args":"speech-model","id":"1203"}]}"
Run Code Online (Sandbox Code Playgroud)

现在我的问题.我怎样才能获得价值,例如"args"?

在JavaScript中,它可以很容易地完成:

console.log(myStringThatLooksLikeJSON.value[0].args, "args");
Run Code Online (Sandbox Code Playgroud)

在我的控制台中,我可以看到speech-model args.

但是如何在Java中做到这一点?可能吗?最纯粹的共同和简单的方式!Plz任何人帮助:)希望我足够清楚.

javascript java

1
推荐指数
2
解决办法
135
查看次数

使用gson在Java中反序列化json

我在用gson反序列化json中的JSON时非常艰难。

我有以下json:

{"races":[
{"id":1,"mask":1,"side":"alliance","name":"Human"},
{"id":2,"mask":2,"side":"horde","name":"Orc"},
{"id":3,"mask":4,"side":"alliance","name":"Dwarf"}]}
Run Code Online (Sandbox Code Playgroud)

我现在拥有的Java代码是:

StringRequest stringRequest = new StringRequest(Request.Method.GET, url,
            new Response.Listener<String>() {
                @Override
                public void onResponse(String response) {
                    Gson gson = new Gson();
                    Type type = new TypeToken<List<WoWDetails>>(){}.getType();
                    List<WoWRaces> races = gson.fromJson(response, type);
                    for (WoWRaces race : races){
                        if(raceID.equals(race.id)) {
                            raceName = race.name;
                        }
                    }
                }
            }, new Response.ErrorListener() {
        @Override
        public void onErrorResponse(VolleyError error) {
            errorMSG = (TextView) findViewById(R.id. textView5);
            errorMSG.setText("That didn't work! URL: \n"+error);
            errorMSG.setVisibility(View.VISIBLE);
        }
    });
Run Code Online (Sandbox Code Playgroud)

WoWRaces.java中的以下代码:

WoWRaces.java

public class WoWRaces {
   public …
Run Code Online (Sandbox Code Playgroud)

java android json gson

0
推荐指数
1
解决办法
2882
查看次数

标签 统计

gson ×3

java ×3

android ×2

json ×2

javascript ×1