zoukankan      html  css  js  c++  java
  • javascript、java和json对象互转

     1 <html>
     2 <head>
     3 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
     4 <title>Insert title here</title>
     5 <script type="text/javascript" src="js/prototype-1.6.0.3.js"></script>
     6 <script type="text/javascript">
           //字符串转换为json对象
          var str = '{"name":"tom","age":25}';
            var json = eval("("+str+")");


    7 f2(); 8 //以json格式创建js对象 9 function f1(){ 10 var person = {'name':'zs','age':22}; 11 //alert(person.name); 12 var person2 = {'name':'ls','address':{ 13 'city':'beijing', 14 'room':2002 15 }}; 16 //alert(person2.address.city); 17 var family = [{'name':'zs','age':22}, 18 {'name':'ww','age':32}]; 19 alert(family[0].age); 20 } 21 22 //怎样将一个符合json格式的字符串转变成js对象 23 function f2(){ 24 var personDesc = "{'name':'zs','age':22}"; 25 //alert(typeof personDesc); 26 var person = personDesc.evalJSON(); 27 //alert(person.age); 28 var familyDesc="[{'name':'zs','age':22},{'name':'ww','age':32}]"; 29 var family = familyDesc.evalJSON(); 30 alert(family[0].name); 31 } 32 </script> 33 </head> 34 <body style="font-size:30pt;"> 35 36 </body> 37 </html>
     1 package json;
     2 
     3 import java.util.ArrayList;
     4 import java.util.Date;
     5 import java.util.List;
     6 
     7 import net.sf.json.JSONArray;
     8 import net.sf.json.JSONObject;
     9 import net.sf.json.JsonConfig;
    10 import entity.User;
    11 
    12 public class Test {
    13     //将java对象转变成符合json格式的字符串
    14     public static void ObjectToJson(){
    15         User user = new User("zs",22);
    16         user.setId(1l);
    17         user.setBirthday(new Date());
    18         
    19 //        对于日期,需要写一个转换器
    20         //step1 写一个转换器,实现JsonValueProcessor接口
    21         //step2 注册转换器
    22         JsonConfig config = new JsonConfig();
    23         config.registerJsonValueProcessor(Date.class, new DateTransfer());
    24         JSONObject obj = JSONObject
    25         .fromObject(user,config);
    26         String str = obj.toString();
    27         System.out.println(str);
    28     }
    29     
    30     public static void ArrayToJson(){
    31         User user = new User("zs",22);
    32         user.setId(1l);
    33         User user2 = new User("ws",32);
    34         user2.setId(2l);
    35         //User[] users = {user,user2};
    36         List<User> users = 
    37             new ArrayList<User>();
    38         users.add(user);
    39         users.add(user2);
    40         JSONArray array = 
    41             JSONArray.fromObject(users);
    42         System.out.println(array.toString());
    43             
    44     }
    45     /**
    46      * @param args
    47      */
    48     public static void main(String[] args) {
    49         // TODO Auto-generated method stub
    50         ObjectToJson();
    51         //ArrayToJson();
    52     }
    53 
    54 }
     1 package json;
     2 
     3 import net.sf.json.JsonConfig;
     4 import net.sf.json.processors.JsonValueProcessor;
     5 import java.text.*;
     6 import java.util.Date;
     7 public class DateTransfer implements JsonValueProcessor{
     8     private String dateFormat = "yyyy-MM-dd";
     9     public void setDateFormat(String pattern){
    10         this.dateFormat = pattern;
    11     }
    12     public Object processArrayValue(Object arg0, 
    13             JsonConfig arg1) {
    14         SimpleDateFormat sdf = 
    15             new SimpleDateFormat(dateFormat);
    16         return sdf.format((Date)arg0);
    17     }
    18 
    19     public Object processObjectValue(String arg0, 
    20             Object arg1, JsonConfig arg2) {
    21         SimpleDateFormat sdf = 
    22             new SimpleDateFormat(dateFormat);
    23         return sdf.format((Date)arg1);
    24     }
    25 
    26 }

     依赖jar包

  • 相关阅读:
    iOSIPV6简单测试环境搭建
    SQL存儲過程的調試方法
    Excel的 OleDb 连接串的格式
    RequiredFieldValidator的使用
    GridView導出Excel
    咳嗽對症下藥
    WCF基礎
    WCF配置文件全攻略
    WCF寄宿方式
    WCF綁定
  • 原文地址:https://www.cnblogs.com/smile361/p/2642297.html
Copyright © 2011-2022 走看看