本文是作者原创文章,欢迎转载,请注明出处 from:@Eric_Lai

前言

由于学校的一个小项目的需要,需要我在android端发起一个POST请求,然后服务端返回一组json数据。为了处理这个事情,今天早早的我就起床准备来写一个servlet的小测试代码。然而看了众多的教程,头晕了很久,照着一些例程来写之后发现打印出来的只有一个样子。但是没有数据。为了这个我一直认为是我的逻辑代码不对。我就先不部署tomcat,在纯java的环境下做了一个测试,最后发现的问题竟然是…..先买个关子,如果你也有这样的情况,请您继续看下去。 构建工程

我使用的是NetBeans的环境,新建工程什么的废话就不说了。为了使用第三方库(json-lib)你首先需要获得它的jar包和一系列相关的支持包。如果你没有的话请按这里下载。

对于蛋疼的NetBeans,导入包也是一个技术活。记得导入之后,在你需要使用这个包里的资源的地方要import,否则会报错。 做完之后在工程下建几个类,以方便我们的测试。工程目录的图片如下:

详细代码

做完这个就开始写代码了,先介绍一下这里面需要自己写的三个类:

==此处应有颜色,对于Bean类的声明必须使用 public 否则会报错!这里磨了我好长时间呐。==

package javajson;

public class JavaJSON {

    public static void main(String[] args) {
        
        Person person = new Person("eric","18","male");
        
        System.out.println(JsonTool.createJsonString("person", person));
    }
    
}
public class JsonTool {
    
    public static String createJsonString(String k, Object v){
        JSONObject json = new JSONObject();      
        json.put(k, v);       
        return json.toString();
    }
}
public class Person {
    private String name;
    private String age;
    private String gender;
    public Person(String n, String a, String g){
        name = n;
        age = a;
        gender = g;
    }
    public String getName(){
        return name;
    }
   public String getAge(){
        return age;
    }
   public String getGender(){
        return gender;
    }
  public void setName(String n){
      name = n;
  }
    public void setAge(String a){
      age = a;
  }
     public void setGender(String g){
      gender = g;
  }

}

结果

至此完成整个实验,输出的结果如下图所示: