我现在 ,想做一个 json 如何 编码 和解码 ,听说不是很难 ,我第一次做 ,请求代码。json java

解决方案 »

  1.   

    JSON用于描述数据结构,有以下形式存在。    对象 (object):一个对象以“{”开始,并以“}”退出。一个对象包含一系列非排序的名称/值对,每个名称/值对之间使用“,”分区。
        名称/值(collection):名称和值之间使用“:”隔开,一般的形式是:{name:value}一个名称是一个字符串; 一个值可以是一个字符串,一个数值,一个对象,一个布林值,一个有串行表,或者一个null值。    值的有串行表(Array):一个或者多个值用“,”分区后,使用“[”,“]”括起来就形成了这样的列表,形如:[collection, collection]    字符串:以""括起来的一串字符。
        数值:一系列0-9的数字组合,可以为负数或者小数。还可以用“e”或者“E”表示为指数形式。
        布林值:表示为 true 或者 false。在很多语言中它被为和解释为数组。JSON的格式描述可以参考RFC 4627。
    应用领域
    WEB开发JSON最开始被广泛的应用于WEB应用的开发,随着Web2.0的方兴未艾,JSON在WEB数据传输领域占有重要的地位。
    NoSQL数据库相对于传统的关系型数据库,一些基于文档存储的NoSQL非关系型数据库选择JSON作为其数据存储格式,比较出名的产品有:MongoDB、CouchDB、RavenDB等。
    举例{
         "firstName": "John",
         "lastName": "Smith",
         "male": true,
         "age": 25,
         "address": 
         {
             "streetAddress": "21 2nd Street",
             "city": "New York",
             "state": "NY",
             "postalCode": "10021"
         },
         "phoneNumber": 
         [
             {
               "type": "home",
               "number": "212 555-1234"
             },
             {
               "type": "fax",
               "number": "646 555-4567"
             }
         ]
     }安全性问题
    读取 JSON由于 JSON 是 JavaScript 的子集,所以一般都会使用 eval() 作为读取数据的方式,如果是针对可靠的数据来源,在不支持原生 JSON 解析的浏览器上面这是最快速的方法。然而由于 eval 方法同样可以执行任意的 JavaScript 代码,因此当数据来源不可靠时则可能产生安全性问题。如下面的例子,直接用 eval 执行时会跳转:var json = {
      message: (function () { window.location='http://zh.wikipedia.org/wiki/JSON#.E5.AE.89.E5.85.A8.E6.80.A7.E5.95.8F.E9.A1.8C'; })()
    };
      

  2.   

    使用JSON开发包呗:http://www.json.org/java/index.html
      

  3.   

    我给你发两个例子吧。。
    我以前自己写的,感觉这个就是原型,在复杂的json串也是在这基础之上添加的。
    我刚开始也不会用json串,但是通过一天的学习和自己尝试之后,现在一般的json串是没有问题了。。
    解决json一般有两种方式,一个是MapperfromObject
    那种网上的例子很多,就不说了。
    我用的是第二种:
    当然,第二种需要建javaBean的类
    首先,需要jar包:import org.codehaus.jackson.map.ObjectMapper;
    JavaBeanToJsonpublic class JavaBeanToJson {
    public static void main(String[] args) {
    ArrayList<Student> list=new ArrayList<Student>();
    Student s1=new Student();
    s1.setName("leilei");
    s1.setAge(23);
    Student s2=new Student();
    s2.setName("leilei02");
    //s2.setAge(23);
    list.add(s1);
    list.add(s2);

    StringWriter str=new StringWriter();

    ObjectMapper objectMapper=new ObjectMapper();
    try {
    objectMapper.writeValue(str, list);
    } catch (Exception e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    System.out.println(str);
    }
    }
    JsonToJavaBean:public class JsonToJavaBean {
    public static void main(String[] args) {
    String str="{\"student\":[{\"name\":\"leilei\",\"age\":23,\"gender\":true},{\"name\":\"leilei02\",\"age\":23,\"gender\":false}]}";
    Student stu = null;
    List<Student> list = null;
    try {
    ObjectMapper objectMapper=new ObjectMapper();
    StudentList studentList=objectMapper.readValue(str, StudentList.class);

    list=studentList.getStudent();
    } catch (Exception e) {
    // TODO Auto-generated catch block
    e.printStackTrace();

    for(Student s:list){
    System.out.println(s.getName()+"   "+s.getAge()+"      "+s.isGender());
    }
    }
    }
    javaBean:public class Student {
    private String name;
    private int age;
    private boolean gender;
    //private StudentClass studentClass;
    public String getName() {
    return name;
    }
    public void setName(String name) {
    this.name = name;
    }
    public int getAge() {
    return age;
    }
    public void setAge(int age) {
    this.age = age;
    }

    public boolean isGender() {
    return gender;
    }
    public void setGender(boolean gender) {
    this.gender = gender;
    }
    /*public StudentClass getStudentClass() {
    return studentClass;
    }
    public void setStudentClass(StudentClass studentClass) {
    this.studentClass = studentClass;
    }
    @Override
    public String toString() {
    return "Student [age=" + age + ", name=" + name + ", studentClass="
    + studentClass + "]";
    }*/
    @Override
    public String toString() {
    return "Student [age=" + age + ", name=" + name + "]";
    }


    }
      

  4.   

    生成JSON对象
    JSONObject json=new JSONObject("{success:false,num:1}");操作JSON内容
    json.put("msg","result msg");输出JSON内容
    System.out.println(json.toString());
      

  5.   

    json的开发组件,如果用jboss as可以考虑resteasy
      

  6.   

    //json格式转换成javaBean对象的方法 
    public static void main(String[] args) {
     String str="{\"student\":[{\"name\":\"leilei\",\"age\":23},{\"name\":\"leilei02\",\"age\":23}]}";        
     Student stu = null;        
     List<Student> list = null;        
     try {  
                ObjectMapper objectMapper=new ObjectMapper();            
                StudentList studentList=objectMapper.readValue(str, StudentList.class);            
                list=studentList.getStudent();        } 
     catch (Exception e) {  // TODO Auto-generated catch block 
     e.printStackTrace(); } 
     for(Student s:list){            
     System.out.println(s.getName());        
     }
                }
      

  7.   

    json-lib.jar 可以从list  json字符串  map自动生成json,也可以用jsonBinder,也可以自己直接拼接
      

  8.   

       你们说的 我也知道 我是 想问 就比如说 json-lib.jar 在这个jar 包中 他自己 有没有 已经写好的 用来 编码 和 解码 的方法 或者  说是 那个对象 ,如果 他们 没有提供 ,那么 我自己 就 写一个,具体代码 向你们求助???
      

  9.   

    加解密的代码网上一大堆,普遍用的是DES或是3DES,上网搜一下吧
      

  10.   

    如果怕信息泄露就不要用AJAX了,因为你在后台加密了,你前台还要用js解密这个不可取
      

  11.   

     我说 的是 json  ,我不用ajax 
      

  12.   

    你json干嘛要编码和解码呢还不是要给前台或后台接收