list是一个bean对象的集合,目的就是将从数据库中取得的数据转换成json数据后返回给调用者。现在的问题是
如果加上JSONArray json = JSONArray.fromObject(list);的情况下,调用时返回的就是
<soapenv:Text xml:lang="en-US">net/sf/json/JSONArray</soapenv:Text>,并不是return中返回的字符串,如果去掉JSONArray json = JSONArray.fromObject(list);这部分,返回的就是qwqwq这个字符串。加上有什么影响吗,为什么加上了就返回的就不是qwqwq?
(声明:我是在eclipse下单独开发的一个类,然后再部署到另外一个web项目中,其中引入了net.sf.json.JSONArray;)
JSONArray json = JSONArray.fromObject(list);
return "qwqwq";

解决方案 »

  1.   


    换一种问法吧
    我单独开发了一个axis2   webservice类   以及成功的部署到了一个web项目中,在这个项目中我引入了net.sf.json.JSONArray;这个类,那么部署的时候这个类需要在别的地方配置吗?还是直接调用就行?
      

  2.   


    JSONArray json = JSONArray.fromObject(list);
    return "qwqwq";
    这样写调用的返回结果是
    <soapenv:Reason xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope">
    <soapenv:Text xml:lang="en-US">net/sf/json/JSONArray</soapenv:Text>
    </soapenv:Reason>去掉JSONArray json = JSONArray.fromObject(list);这段
    返回就是  
    <ns:getInfoResponse xmlns:ns="http://services.lerx.com">
    <ns:return>qwqwq</ns:return>
    </ns:getInfoResponse>
    为什么会出现这样的结果?
      

  3.   

    这明显是返回值类型。和json有啥关系
      

  4.   

    但是最后都有  return "qwqwq";   
    为什么加上JSONArray json = JSONArray.fromObject(list);返回的就不是qwqwq了呢?
      

  5.   

    这是完整代码package com.lerx.services;import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.Statement;
    import java.util.ArrayList;
    import java.util.List;import net.sf.json.JSONArray;
    public class GetInfoByJdbc {
    /* public static void main(String[] args) {
    getInfo("sd", "sd");
    }*/ public  String getInfo() {
    List<OrderBean> list = new ArrayList<OrderBean>(); try {
    Class.forName("com.mysql.jdbc.Driver");
    Connection connectMySQL = DriverManager.getConnection(
    "jdbc:mysql://10.66.0.237:3306/lerx","root", "");
    Statement statament = connectMySQL.createStatement();
    ResultSet resultSet = statament.executeQuery("select * from sale_order");
    // ResultSet resultSet = statament.executeQuery("order" );
    while (resultSet.next()) { // 判断是否还有下一个数据
    // 根据字段名获取相应的值
    OrderBean bean = new OrderBean();
    bean.setId(resultSet.getString("id"));
    bean.setOrder_id(resultSet.getString("order_id"));
    bean.setAmount(resultSet.getString("amout"));
    list.add(bean);
    }
    try {
    if (connectMySQL != null)
    connectMySQL.close();
    } catch (Exception ex) {
    ex.printStackTrace();
    }
    } catch (Exception e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    } JSONArray json = JSONArray.fromObject(list);
    String str = json.toString();
    return "qwqwq";
    }
    }
      

  6.   

    调用这个方法,不返回qwqwq?
      

  7.   

    JSONArray json = JSONArray.fromObject(list);
    return "qwqwq";
    这样写调用的返回结果是
    <soapenv:Reason xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope">
    <soapenv:Text xml:lang="en-US">net/sf/json/JSONArray</soapenv:Text>
    </soapenv:Reason>去掉JSONArray json = JSONArray.fromObject(list);这段
    返回就是  
    <ns:getInfoResponse xmlns:ns="http://services.lerx.com">
    <ns:return>qwqwq</ns:return>
    </ns:getInfoResponse>