2016-05-05 22 views
0

JSON要求を整数値で送信すると、受理フィールドがString型の場合は自動的にJava側の文字列に変換されます。 JSON処理用にJersey Jackson APIを使用しています。 例えば、Jsonの整数値が自動的に文字列値に変換されます

JSON要求

{ 
    "executable":1 
} 

ここで私は、文字列型の実行可能な変数に整数値を送信しています。 しかし、整数値を受け入れ、それを文字列に変換しています。

私の要件はデータ型の厳密な検証です。

+1

JSON文字列を送信しています。 JSON内のすべてがString上にあります。これをJAVA側でintに変換することができます。 –

+0

JAVA側で明示的な型変換がないと、この検証の方法はありますか? –

+0

ええ、あなたのJSONに応じてエンティティを作成することができますし、ObjectMapper(例えば、)を使用することができます。変換を使用する必要はありません。 –

答えて

0

最後に私の要求に応じて変更することができます。 私の要件は、JSONスキーマに対してJSONリクエストを検証することでした。 JSONリクエストは文字列として提供されるため、直接検証できないため、リクエストを文字列として受け取り、json-schema-validatorを使用してスキーマに対して検証します。

1

jsonオブジェクトの値はすべて文字列です。あなたはそれを自分自身に投げる必要があります。

Integer.valueOf(STRING_YOU_WANT_TO_CONVERT); 

JsonDeserializerも使用できます。ここに例があります:Error in Android JsonDeserializer when returning response

+0

真ですが、送信されたjson文字列の検証が必要です。 –

+0

何とかJsonスキーマを使ってそれを行うことはできますか? –

+0

あなたは両方の方法で検証できます。スキーマで検証するとどういう意味ですか? – Alikbar

関連する問題