2017-11-16 13 views
-1

私はKotlinでJSONレスポンスを手動で解析したいと思っています。私はいくつかの共通のフィールドを持っている複雑なJSON応答を取得しているので。たとえば、私は応答の下になっています。KotlinでJSONを手動で解析する方法は?

{ 
    status: "success/false" 
    apiId: 6 
    message: "Error msg if any" 
    . 
    . 
    . // Here comes some JSON with complex structure where some fields are 
    . // missing/omitted. Sometime array is missing/response in array is 
    . // getting changed, getting lot of unwanted stuff Or whatever you can 
    . // think. And because of this I need to parse it manually. 
    . 
} 

今どのように私はKotlinのdataクラスに手動で応答のこのタイプを解析することができますか?私が知りたいもう一つのことは、レスポンスの共通フィールドに基本クラスを使用できますか?

data class Response(val status: String, val apiId: Int , val message: String) 
+0

普通のJSONオブジェクトと同じではありませんか? jsonobj.getString( "")、jsonobj.getObject( "")? – user1940676

+0

@ user1940676 Kotlinで 'data'クラスを使用しているときは、コンストラクタで変数を定義するだけで済みます。 getter()とsetter()を書く必要はありません – Akshay

+0

そうですが、返されたStringでJsonObjectインスタンスを作成してから、JsonObjectクラスのメソッドを呼び出してデータを解析できますか? – user1940676

答えて

0

は次のようなものであるべき。あなたがする必要があるのは、以下のようなデータクラスを書くことです。

@JsonIgnoreProperties(ignoreUnknown=true) 
data class Response(val status: String, val apiId: Int, val message: String) 
0

jackson-databindが不要なJSONフィールドを無視することができ@JsonIgnoreProperties(ignoreUnknown=true)注釈を持っています

関連する問題