XBMC/KODI 用のシンプルな JAVA リモートを作成しようとしていますが、これまで (まだ初期段階) は問題ないと思いますが、ネストされた JSON オブジェクトに到達したときに問題が発生しました。
これは、私が Java に変換している元のコードです。
{"jsonrpc": "2.0", "method": "Player.PlayPause", "params": { "playerid": 0 }, "id": 1}
私はこれまでJavaでこれを行ってきました:
public static void main(String[] args) throws UnknownHostException, IOException{
JSONObject json = new JSONObject();
json.put("jsonrpc", "2.0");
json.put("method", "Player.PlayPause");
//json.put("params", "playerid = 0"); THIS IS THE LINE I am having issues with
Socket s = new Socket("192.168.0.21", 8080);
try (OutputStreamWriter out = new OutputStreamWriter(s.getOutputStream(), StandardCharsets.UTF_8)) {
out.write(json.toString());
}}
元の JSON からわかるように、{} 内にネストされた {} があるため、{{}} を処理する方法がわかりません。これが役立つ場合は、EclipseでJSON-Simpleを使用しています。助けてくれてありがとう!
編集:
おかげで助かりましたが、実際には機能しません。構文に何か問題があります。
public static void main(String[] args) throws UnknownHostException, IOException{
JSONObject json = new JSONObject();
JSONObject params = new JSONObject();
json.put("jsonrpc", "2.0");
json.put("method", "Player.PlayPause");
params.put("playerid", 0);
json.put("params", params);
json.put("id", 1);
Socket s = new Socket("192.168.0.21", 8080);
try (OutputStreamWriter out = new OutputStreamWriter(s.getOutputStream(), StandardCharsets.UTF_8)) {
out.write(json.toString());
}
}