0
Java에서 다음 구조와 유사한 JSON 개체를 작성한 다음 restPost 메서드를 사용하여 요청으로 전달하려고합니다.Java에서 중첩 된 JSON 객체를 생성하고 RestPost 메소드를 사용하여 요청으로 전달 하시겠습니까?
{
"fields": [
{
"SESSION_SESSIONNUMID": "500"
},
{
"SESSION_STATUS": "BP"
},
{
"SESSION_DESCRIPTION": "Updated"
},
{
"SESSION_SESSIONDATE": "2016-07-20"
},
{
"SESSION_CURRENCY_TYPE": "USD"
}
]
}
그래서이, 내가 무슨 짓을
public void Insert() {
try {
String lstrPath = Constants.MIP_BASE_URI + "/api/te/JV/sessions";
System.out.println("Path for creation of session :\n " + lstrPath);
//create the JSON object containing the new contacts details.
JSONObject array = new JSONObject();
JSONObject object = new JSONObject();
JSONObject A1 = new JSONObject();
A1.put("SESSION_SESSIONNUMID " , "100 ");
JSONObject A2 = new JSONObject();
A2.put("SESSION_STATUS " , "BP");
JSONObject A3 = new JSONObject();
A3.put("SESSION_DESCRIPTION " , "CODING");
JSONObject A4 = new JSONObject();
A4.put("SESSION_SESSIONDATE" , "2016-10-20");
JSONObject A5 = new JSONObject();
A5.put("SESSION_CURRENCY_TYPE" , "USD");
object.put("def", array);
System.out.println("Passing request :\n" + A1.toString(1));
JSONObject ljsonResponse = RestCalls.RestPost(lstrPath,
A1, Constants.REQUESTING_CLASS.MIP);
if (ljsonResponse != null) {
Constants.MIP_TOKEN = ljsonResponse.getString("token");
}
System.out.println("Token from response: " + Constants.MIP_TOKEN);
Constants.MIP_AUTH_HEADER = new BasicHeader("Authorization-Token",
Constants.MIP_TOKEN);
} catch (JSONException ex) {
Logger.getLogger(ConnectToMip.class.getName()).log(Level.SEVERE, null,ex);
}
}
그리고
이제 문제 위의 코드에서 내가 세션을 생성하는 데 필요한 여러 JSON 개체를 만들 수 있어요,하지만 지금은 드릴 수 없습니다 것입니다 응답에서 여러 JSON 객체를 보내 (전달하는 방법) 알아 내야합니다.참고 : 아래 코드의 마지막 줄에서 응답으로 1 JSON 개체 (A1)를 보내고 마찬가지로 (A2, A3, A4, A5) 여러 개의 JSON 개체를 보내야합니다. 성공적인 POST.
field가 비슷한 객체를 포함해야하는 배열 인 경우 look odd bit odd를 사용하면 필드와 마찬가지로 여러 객체를 단일 단일 객체에 바인딩 할 수 있습니다. – jos
@jos : 이와 비슷한 것을 만들었습니까?, JSONObject ljsonPost = new JSONObject(); ljsonPost.put ("SESSION_SESSIONNUMID", "515"); ljsonPost.put ("SESSION_STATUS", "BP"); ljsonPost.put ("SESSION_DESCRIPTION", "Updated"); ljsonPost.put ("SESSION_SESSIONDATE", "2016-11-09"); ljsonPost.put ("SESSION_CURRENCY_TYPE", "USD"); – Rick
예 "필드"[ { "SESSION_SESSIONNUMID": "500", "SESSION_STATUS": "BP" "SESSION_DESCRIPTION", "SESSION_SESSIONDATE"를 "업데이트": "2016년 7월 20일" "SESSION_CURRENCY_TYPE": "USD" } – jos