JavaScriptに慣れているとJavaのオブジェクトの宣言がめんどくさく感じる
JavaScriptだと下のように書くだけでオブジェクトの宣言ができるし変数わかっていれば代入もされる。
var param_dic = {
"id": "1234-1",
"jsonrpc": "2.0",
"method": "jlp.furiganaservice.furigana",
"params": {
"q": Sentence,
"grade": Grade
}
}
これをJAVAでは一つずつ宣言しながら代入する必要がある。
public class Application {
private String id;
private String jsonrpc;
private String method;
Params ParamsObject;
// Getter Methods
public String getId() {
return id;
}
public String getJsonrpc() {
return jsonrpc;
}
public String getMethod() {
return method;
}
public Params getParams() {
return ParamsObject;
}
// Setter Methods
public void setId( String id ) {
this.id = id;
}
public void setJsonrpc( String jsonrpc ) {
this.jsonrpc = jsonrpc;
}
public void setMethod( String method ) {
this.method = method;
}
public void setParams( Params paramsObject ) {
this.ParamsObject = paramsObject;
}
}
public class Params {
private String q;
private String grade;
// Getter Methods
public String getQ() {
return q;
}
public String getGrade() {
return grade;
}
// Setter Methods
public void setQ( String q ) {
this.q = q;
}
public void setGrade( String grade ) {
this.grade = grade;
}
}
めんどくさいので、jsonテキストを作ってリクエストして受け取ったJSONをparseさせれば楽かなと考えている。
'{"id":"1234-1","jsonrpc":"2.0","method":"jlp.furiganaservice.furigana","params":{"q":"","grade":""}}'
JSONを送るのはこれでいいとして、JSONパーサーは別に必要で、Jacksonを使うといいらしい。