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包

原文地址:https://www.cnblogs.com/smile361/p/2642297.html