巧用eval解析json对象

阅读更多
<%@ page contentType="text/html; charset=UTF-8"%>
<%@ page pageEncoding="UTF-8"%>
 
    
   
      json.html  
    
    
   


        
	    
        

    
 



import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import net.sf.json.*;

import org.apache.commons.jxpath.JXPathContext;


public class Json extends HttpServlet {
    public void doGet(HttpServletRequest req,HttpServletResponse rpo)throws ServletException,IOException{
        rpo.setCharacterEncoding("GBK");
        req.setCharacterEncoding("GBK");
        rpo.setContentType("text/html; charset=GBK");
        
        PrintWriter out = rpo.getWriter() ;
        
//      得到 url 传入数据 
        String jsonStr = req.getParameter("jsonStr") ;
        System.out.println("************************jsonStr :" + jsonStr);
 
       /*
        * {"name":"BurceLee",
        *   "avg" : 29
        * }
        *   
        *  
        * 
        * 以下注释部分原本想通过url传入的数据转变成json对象
        * 并将其解析成一个map,对其中key=“ave”的值加一
        * 后返回给前台jsp。不知为什么系统总是报
        * java.lang.NoClassDefFoundError	
        * at net.sf.json.JSONObject.fromObject(JSONObject.java:154)
        * 的异常
        * 暂且将这段代码注释掉,还希望高手们帮助解决一下。
        */
        
       /*JSONObject jso = JSONObject.fromObject(jsonStr);
        JXPathContext jx = JXPathContext.newContext(jso);
        try {
           jx.setValue("./avg", jx.getValue("./avg + 1 ") );
        } catch (Exception e) {e.printStackTrace();}
         //以 jsonString 传出
        out.print(jso.toString());     
       */
        out.print("{\"name\":\"BurceLee11\",\"avg\":29}");

    }
}


程序源码见附件中
  • jsonDemo.rar (1.6 MB)
  • 下载次数: 36

你可能感兴趣的:(json,Servlet,JSP,JavaScript,.net)