【发布时间】:2015-03-03 19:45:49
【问题描述】:
我正在尝试为 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());
}
}
【问题讨论】:
-
“如你所见” - 我可以吗?
-
我会这样认为,“params”: {"playerid: 0}, 部分,据我了解它不是 JSON 数组,因为它们有方括号
-
它是一个 json 对象。而且你已经知道如何处理 json 对象了。
-
嗯,我没想到会这么简单,谢谢!