标签:表示 else tab add nbsp iter str data 表示法
基于JS 的一种轻量级的数据交换格式!“key”:“value”的书写格式
//JSON 对象 { "name":"张三" , "age":22}
//JSON 数组 { "student": [ { "name":"张三" , "age":22 }, { "name":"李四" , "age":23 }, { "name":"王五" , "age":24 } ] }
//JSON 嵌套 { "student": [ { "name":"张三" , "age":22 ,"score":{"chinese":90,"math":100,"english":80} }, { "name":"李四" , "age":23 ,"score":{"chinese":70,"math":90, "english":90} }, { "name":"王五" , "age":24 ,"score":{"chinese":80,"math":60, "english":90} } ] }
//把 Json 串换成 Json 对象 var dataObj=eval("("+data+")");//转换为 json 对象
private void getJsonObject(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { PrintWriter out=response.getWriter(); // String resultJson="{\"name\":\"张三\",\"age\":22}"; //引入jar包前 JSONObject resultJson=new JSONObject();
//引入jar包后 resultJson.put("name", "张三"); resultJson.put("age", 22); out.println(resultJson); out.flush(); out.close(); }
<script type="text/javascript"> function loadInfo(){ var xmlHttp; if(window.XMLHttpRequest){ xmlHttp=new XMLHttpRequest(); }else{ xmlHttp=new ActiveXObject("Microsoft.XMLHTTP"); } xmlHttp.onreadystatechange=function(){ if(xmlHttp.readyState==4 && xmlHttp.status==200){ alert(xmlHttp.responseText); var dataObj=eval("("+xmlHttp.responseText+")"); //将Json串转换为Json对象 document.getElementById("name").value=dataObj.name; document.getElementById("age").value=dataObj.age; } }; xmlHttp.open("get", "getAjaxInfo?action=jsonObject", true); xmlHttp.send(); } </script>
private void getJsonArray(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { PrintWriter out=response.getWriter(); JSONObject resultJson=new JSONObject(); JSONArray jsonArray=new JSONArray(); JSONObject jsonObject1=new JSONObject(); jsonObject1.put("name", "张三"); jsonObject1.put("age", 22); JSONObject jsonObject2=new JSONObject(); jsonObject2.put("name", "李四"); jsonObject2.put("age", 23); JSONObject jsonObject3=new JSONObject(); jsonObject3.put("name", "王五"); jsonObject3.put("age", 24); jsonArray.add(jsonObject1); jsonArray.add(jsonObject2); jsonArray.add(jsonObject3); resultJson.put("students", jsonArray); out.println(resultJson); out.flush(); out.close(); }
private void getJsonNested(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { PrintWriter out=response.getWriter(); JSONObject resultJson=new JSONObject(); JSONArray jsonArray=new JSONArray(); JSONObject jsonObject1=new JSONObject(); jsonObject1.put("name", "张三"); jsonObject1.put("age", 22); JSONObject scoreObject1=new JSONObject(); scoreObject1.put("chinese", 90); scoreObject1.put("math", 100); scoreObject1.put("english", 80); jsonObject1.put("score", scoreObject1); JSONObject jsonObject2=new JSONObject(); jsonObject2.put("name", "李四"); jsonObject2.put("age", 23); JSONObject scoreObject2=new JSONObject(); scoreObject2.put("chinese", 70); scoreObject2.put("math", 90); scoreObject2.put("english", 90); jsonObject2.put("score", scoreObject2); JSONObject jsonObject3=new JSONObject(); jsonObject3.put("name", "王五"); jsonObject3.put("age", 24); JSONObject scoreObject3=new JSONObject(); scoreObject3.put("chinese", 80); scoreObject3.put("math", 60); scoreObject3.put("english", 90); jsonObject3.put("score", scoreObject3); jsonArray.add(jsonObject1); jsonArray.add(jsonObject2); jsonArray.add(jsonObject3); resultJson.put("students", jsonArray); out.println(resultJson); out.flush(); out.close(); }
function loadInfo2(){ var xmlHttp; if(window.XMLHttpRequest){ xmlHttp=new XMLHttpRequest(); }else{ xmlHttp=new ActiveXObject("Microsoft.XMLHTTP"); } xmlHttp.onreadystatechange=function(){ if(xmlHttp.readyState==4 && xmlHttp.status==200){ alert(xmlHttp.responseText); var dataObj=eval("("+xmlHttp.responseText+")"); var st=document.getElementById("studentTable"); alert(dataObj.students.length); var newTr; // 行 var newTd0; // 第一列 var newTd1; // 第二列 var newTd2; // 第三列 for(var i=0;i<dataObj.students.length;i++){ var student=dataObj.students[i]; //获取每个对象 newTr=st.insertRow(); // 插入一行,返回行对象 newTd0=newTr.insertCell(); // 插入一列,返回列对象 newTd1=newTr.insertCell(); newTd2=newTr.insertCell(); newTd0.innerHTML=student.name; // 赋值 newTd1.innerHTML=student.age; newTd2.innerHTML="语文:"+student.score.chinese+",数学:"+student.score.math+",英语:"+student.score.english; } } }; // xmlHttp.open("get", "getAjaxInfo?action=jsonArray", true); //获取Json 数组 xmlHttp.open("get", "getAjaxInfo?action=jsonNested", true); //获取Json 嵌套 xmlHttp.send(); }
标签:表示 else tab add nbsp iter str data 表示法
原文地址:https://www.cnblogs.com/Cocoomg/p/9900749.html