前台传参 private String alarmName;
private String firstFormula;
private String secondFormula;
private String thirdFormula;
private String invokerTime;
前台是Ext,所以要解析,实现Action的一个保存对象,就是把前台的数据 放到json数组解析成java数组,对象操作保存
小弟才疏学浅,希望高手指导,感激不尽!!!
在线等!!!
在线等!!!!

解决方案 »

  1.   

    找找json.jar就可以了。要不就自己拆分。
      

  2.   

    java有个JSONObject对象可以操作json,lz百度下吧,很多方案
      

  3.   

    String json = "{a: '1', b: '2'}";JSONObject obj = new JSONObject(json);
      

  4.   

    楼上我前台传过来的是alarmName等这些参数,按照你写法怎么写那?
    这个obj是转换成Java的对象吗?我要数组.希望再给点详细的解答谢谢
      

  5.   

    把你传的数据贴出来,看obj对象是否有length,我忘记了。自己下个包,看看有哪些方法。
      

  6.   

    你要解析json,要传json格式的。例如 "{a: '1', b: '2'}"
      

  7.   

    就是把前台的数据 放到json数组解析成java数组
    前台的数据貌似是通过formbean直接get就可以得到数据,为何要放到json数组有解析成java数组呢?
    应该是把一些数据拼成json,返回给ext前台吧。
      

  8.   

    PrintWriter out = response.getWriter();out.write("{'a': 'a', 'b': '2'}".getBytes());
    out.flush();
    out.close();ext就可以获得这个json了。
      

  9.   

    我觉得LZ可以将前台的参数做成个对象封装一下然后你可以用JSON.stringfy()方法将其解析成json的形式在发送到后台,然后在后台接收,再运用JSONObject 进行解析成java数组...
      

  10.   

    lz需要下一个js的json包,要么自己拼json对象字符串
      

  11.   

    private static String castToJson(Object obj) {
      if (obj == null) {
       return "null";
      } else if (obj instanceof Boolean) {
       return obj.toString();
      } else if (obj instanceof Integer || obj instanceof Long
        || obj instanceof Float || obj instanceof Double
        || obj instanceof Short || obj instanceof java.math.BigInteger
        || obj instanceof java.math.BigDecimal) {
       return obj.toString();
      } else if (obj instanceof String) {
       String v = (String) obj;
       v = v.replaceAll("\\\\", "\\\\\\\\");
       v = v.replaceAll("\n", "\\\\n");
       v = v.replaceAll("\r", "\\\\r");
       v = v.replaceAll("\"", "\\\\\"");
       v = v.replaceAll("'", "\\\\\'");
       return "\"" + v + "\"";
      } else if (obj instanceof java.sql.Date) {
       java.text.SimpleDateFormat df = new java.text.SimpleDateFormat(
         "yyyy-MM-dd");
       java.sql.Date v = (java.sql.Date) obj;
       String s = df.format(new java.util.Date(v.getTime()));
       return "\"" + s + "\"";
      } else if (obj instanceof java.util.Date) {
       java.text.SimpleDateFormat df = new java.text.SimpleDateFormat(
       "yyyy-MM-dd");
       java.util.Date v = (java.util.Date) obj;
       String s = df.format(v);
       return "\"" + s + "\"";
      } else if (obj instanceof java.sql.Timestamp) {
       java.text.SimpleDateFormat df = new java.text.SimpleDateFormat(
         "yyyy-MM-dd HH:mm:ss");
       java.sql.Timestamp v = (java.sql.Timestamp) obj;
       String s = df.format(new java.util.Date(v.getTime()));
       return "\"" + s + "\"";
      } else {
       return null;
      } }参考下
      

  12.   

    这个应该是正确的做法,因为本身我们用ssh框架建了一个pojo,而页面传递的参数大部分就是在这个对象中
      

  13.   

    谢谢楼上辛辛苦苦写了这么多代码,但是我感觉跟我的不相关另外我们这定义了一个JsonUtil的公共类,里面有*
     * 从json数组中得到相应java数组
     * 
     * @param jsonString
     * @return
     */
    public static Object[] getObjectArray4Json(String jsonString) {
    JSONArray jsonArray = JSONArray.fromObject(jsonString);
    return jsonArray.toArray(); }
    这个方法。可是我就是差那么一点写不出代码,希望大师指点一下,谢谢
      

  14.   

       google 开源项目 gson  不错哦
      

  15.   

    String json = JSONArray.fromObject(list).toString();
    out.print(json);
    要导入json-lib-2.4-jdk15.jar,ezmorph-1.0.6.jar这两个包。。