2017-01-09 16 views
0

私はGSONライブラリを使用してJavaに変換するシンプルなjsonを持っています。値フィールドの+記号を無視しているGSONライブラリ

{ 
    "name" : "DOB", 
    "operator" : "<", 
    "value" : "CURRENTDATE + 3" 
} 

私はgson.fromJsonを行うと、値の一部が "CURRENTDATE 3" として返されます。 +シンボルは無視されます。

gsonコールで必要な設定がありますか?

+0

[シンボルをCONVERするGson障害](HTTPの可能性のある重複:// stackoverflowの。 com/questions/17092044/gson-fail-to-conver-symbols) –

+0

シンボルが無視されているかどうかわからない何か他のものに転じた。とにかく、私が与えたリンクは良い出発点のように見えます。 –

+0

<, >のシンボルで確認したところ、正しく認識されました。不思議なことに、+記号は無視されます。私もdisableHtmlEscaping()を設定しようとしました...しかし、それは役に立たなかった。 – Supriya

答えて

1

gson

<dependency> 
    <groupId>com.google.code.gson</groupId> 
    <artifactId>gson</artifactId> 
    <version>2.8.0</version> 
</dependency> 

コードスニペット用のMavenの依存関係:

public static void main(String[] args) { 
    String jsonString = "{\"name\" : \"DOB\", \"operator\" : \"<\", \"value\" : \"CURRENTDATE + 3\"}"; 
    Gson gson = new GsonBuilder().disableHtmlEscaping().create(); 
    Test test = gson.fromJson(jsonString, Test.class); 
    System.out.println(test); 
} 

public class Test { 
    String name; 
    String operator; 
    String value; 

    @Override 
    public String toString() { 
     return "Test [name=" + name + ", operator=" + operator + ", value=" + value + "]"; 
    } 
} 

出力:

Test [name=DOB, operator=<, value=CURRENTDATE + 3] 
関連する問題