JavaScript解析json字符串

今天药忘吃喽~ 2022-08-20 14:08 328阅读 0赞
  1. JavaWeb的开发过程中对json字符串的解析是比较常见的,那么怎么借助JavaScript去解析json字符串呢?这里直接上代码:
  2. 代码一一个 Servlet
  3. package com.ghj.servlet;
  4. import java.io.IOException;
  5. import java.io.PrintWriter;
  6. import java.util.ArrayList;
  7. import java.util.HashMap;
  8. import java.util.List;
  9. import java.util.Map;
  10. import javax.servlet.ServletException;
  11. import javax.servlet.http.HttpServlet;
  12. import javax.servlet.http.HttpServletRequest;
  13. import javax.servlet.http.HttpServletResponse;
  14. import com.google.gson.Gson;
  15. public class JsonServlet extends HttpServlet {
  16. private static final long serialVersionUID = -699926309344319475L;
  17. public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  18. doPost(request, response);
  19. }
  20. public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  21. response.setContentType("text/json;charset=utf-8");
  22. PrintWriter out = response.getWriter();
  23. Map<String, List<String>> dataMap = new HashMap<String, List<String>>();
  24. List<String > gradeList = new ArrayList<String>();//年级
  25. gradeList.add("初中一年级");
  26. gradeList.add("初中二年级");
  27. gradeList.add("初中三年级");
  28. dataMap.put("gradeList", gradeList);
  29. List<String> courseList = new ArrayList<String>();//课程
  30. courseList.add("语文");
  31. courseList.add("数学");
  32. courseList.add("物理");
  33. dataMap.put("courseList", courseList);
  34. out.write(new Gson().toJson(dataMap));
  35. out.flush();
  36. out.close();
  37. }
  38. }
  39. 说明:这里使用了gson-2.2.2.jar
  40. 代码二——一个jsp
  41. <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
  42. <%
  43. String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + request.getContextPath() + "/";
  44. %>
  45. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  46. <html>
  47. <head>
  48. <title>首页</title>
  49. <script type="text/javascript" src="<%=basePath%>js/jquery-1.7.2.js"></script>
  50. <script type="text/javascript">
  51. $(function(){
  52. $("#json").click(function(){
  53. $.ajax({
  54. type: "POST",
  55. url: "<%=basePath%>JsonServlet",
  56. success: function(data){
  57. var grades = data.gradeList;
  58. for(var index in grades){//年级
  59. console.log(grades[index]);
  60. }
  61. var courses = data.courseList;
  62. for(var index in courses){//课程
  63. console.log(courses[index]);
  64. }
  65. },
  66. error:function(){
  67. alert("数据请求失败!");
  68. }
  69. });
  70. });
  71. });
  72. </script>
  73. </head>
  74. <body>
  75. <button id="json">JavaScript解析JSON字符串</button>
  76. </body>
  77. </html>
  78. 说明:上面代码没有借助JavaScript中的eval来解析json字符串

发表评论

表情:
评论列表 (有 0 条评论,328人围观)

还没有评论,来说两句吧...

相关阅读

    相关 php 解析json字符串

    在PHP中解析JSON字符串通常使用内置的json\_decode函数。json\_decode函数将一个JSON格式的字符串转换为PHP对象(如果设置第二个参数为true,则