Я пытаюсь создать простой JAVA-пульт для XBMC/KODI, и я думаю, что im делает ok до сих пор (еще рано), но я попал в ловушку, когда достиг целевого объекта JSON.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 есть вложенная {} внутри {} так {{}}, и я не знаю, как это сделать. Я использую JSON-Simple в eclipse, если это помогает, спасибо за любую помощь!
EDIT:
Так что было полезно, спасибо, но это не на самом деле работает там что-то не так с синтаксисом:
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());
}
}
«Как вы можете видеть» - не так ли? –
Я бы предположил, что «params»: {"playerid: 0}, section, так как я понимаю, что это не массив JSON, поскольку они имеют квадратные скобки. –
это объект json, и вы уже знаете, как обращаться с объектами json. –