我試圖使用json-simple 1.1.1發送API調用,並將字段和值保存爲HashMap。我應該把這些參數:如何將數組放入HashMap中以編碼JSON對象
{ api_key : string,
product_id : string,
name : string,
tax_rates : array }
這裏是一個HashMap例如:
HashMap<String,Object> arg = new HashMap<String, Object>();
arg.put("product_id","42");
arg.put("name", "EKOS");
arg.put("tax_rates", taxarray);
我救taxarray作爲一個HashMap還有:
HashMap<String, Object> taxarray = new HashMap<String, Object>();
taxarray.put("name","EKOS");
taxarray.put("type", "type_value_fixed");
taxarray.put("value", "56");
但是,當我執行的API調用它重新發生錯誤:參數'tax_rates'無效。所需的參數類型是一個數組。
我一直在嘗試將taxarray HashMap另存爲JSONArray。你能幫我解決這個問題嗎?
另一個問題:如何在一個「tax_rates」內保存2個或更多的稅率?這裏有一個例子:
HashMap<String,Object> arg = new HashMap<String, Object>();
arg.put("product_id","42");
arg.put("name", "EKOS");
arg.put("tax_rates", array [
taxarray1[],
taxarray2[]
]);
作爲一個建議您應該使用Json對象來存儲對象,例如:{ 「product_id」:42, 「名稱」: 「EKOS」, 「tax_rates」:{ 「一」: 「B」, 「C」: 「d」, 「E」: 「F」 } } – user1211
唔...我不會推薦這種方法。 'HashMap'不等同於JavaScript對象;其目的是捕獲實現相同接口的對象。雖然你可以得到這個工作,但它不是Java的方式。我會建議嘗試像https://www.mkyong.com/java/jackson-2-convert-java-object-to-from-json/這樣的方法來使用現有工具將您的JSON映射到捕獲到的Java類您的期望結構更多的Java方式。 – sadakatsu