我正在尝试为 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());
}
}