1
맵 키는 항상 숫자는 것을 나는이 HashMap의 < 문자열, 직원>() 객체를하고 난JSONArray에의 HashMap과 JQuery와의 응답을 처리
JSONArray jarray = JSONArray.fromObject(myHashMap);
참고 다음과 같이 JSONArray로 변환 리터럴이지만 데이터 유형은 String입니다.
아래는 json 문자열을 응답에 설정하는 데 사용되는 코드입니다.
response.setContentType("text/text;charset=utf-8");
response.setHeader("cache-control", "no-cache");
PrintWriter out = response.getWriter();
out.println(jarray.toString());
out.flush();
내가 얻는 JSON 문자열이
[{"1":{"empAge":32,"empEmail":"[email protected]","empId":1,"empName":"myname","empTel":"33445"}]
방법 키 값을 1로지도에 empName의 값을 얻을 수 있습니다?
response.setContentType("text/text;charset=utf-8");
변경 그것에 :
$.ajax({
type: "POST",
url: "/MyApp/TestAction.do",
dataType :"json",
success: function(response){
alert(response.1[0].empName);// I get java script error in this statement
},
error: function(e){
alert('Error: ' + e);
}
});
언급 한 내용 유형을 변경하고 문자열 'emp'를 키에 추가 했으므로 이제 키는 'emp1'처럼 보입니다. 이제 스크립트 오류가 사라졌고 alert.emp1.empName에 경고를 보내면 '정의되지 않은'메시지가 표시됩니다. 아래는 System.out [{ "emp1": { "empAge": 32, "empEmail": "[email protected]", "empId": 1, "empName": "myname" "empTel": "33445"}] – DDK
응답에 console.log() (자바 스크립트)를 실행하고 게시하십시오. – Tomer
console.log()가 무엇을하는지 전혀 모르겠습니다. 하지만 $ .parseJSON (응답) 할 때 결과는 null입니다. 내 json 문자열이 유효하지 않다는 의미입니까? 하지만 jsonlint.com 문자열을 테스트하고 유효한 문자열을 주장합니다. – DDK