我正在创建一个必须发送到 api 的数组。部分 json 有联系信息。必须像这样发送:
"Dealer" : {
"email" : "mjones@fake - domain.com" ,
"firstName" : "Martin" ,
"lastName" : "Jones" ,
"phone" : " 5555554321 " ,
"company" : "JonesCo Golf" ,
"street" : "554 Elm Street" ,
"city" : "Springfield" ,
"stateProvince" : "Illinois" ,
"postalCode" : "62701"
}
我的 json(使用 Log.d 时)显示如下:
"Dealer":
[
{
"email":"email@email.com",
"firstName":"John",
"lastName":"Doe",
"phone":"0987654321",
"company":"test",
"street":"123 Street",
"city":"myCity",
"stateProvince":"Xy",
"postalCode":"12345"
}
]
它不是作为具有 9 个对象的经销商,而是作为具有 1 个包含 9 个对象的对象的经销商返回。当然,当我将它发送到 API 时,它不会正确解析。
我正在从共享首选项中提取我的内容并加载创建 JSONArray,如下所示:
JSONObject dealer = new JSONObject();
try {
dealer.put("email", salesPerson.get("emailAddress"));
dealer.put("firstName", salesPerson.get("firstName"));
dealer.put("lastName", salesPerson.get("lastName"));
dealer.put("phone", salesPerson.get("mobilePhone"));
dealer.put("street", salesPerson.get("mailingAddress1"));
dealer.put("street2", salesPerson.get("mailingAddress2"));
dealer.put("city", salesPerson.get("city"));
dealer.put("stateProvince", salesPerson.get("state"));
dealer.put("postalCode", salesPerson.get("postalCode"));
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Log.d("dealer", dealer.toString());
JSONArray dealerJSON = new JSONArray();
dealerJSON.put(dealer);
try {
emailDataObject.put("Dealer", dealerJSON);
} catch (JSONException e2) {
// TODO Auto-generated catch block
e2.printStackTrace();
}
我有一个相当广泛的 JSONArray 要发送到 API,并且创建的 JSON 没有错误。在我将 JSONObject 添加到 JSONArray 的任何地方都添加了方括号。
如何防止在 json 中添加额外的方括号?