json格式的简单转换

JSON:ajax向客户端响应的内容有多个值或是一个对象时,人们提供了一项技术json
  json的基本格式是:{"id":1001,"name":"蓝星"},我们直接输出json对象时结果是就是这种格式
   可以把json对象转化字符串:String str=json.toString();来得到json对象内的内容;

 
一、在java中写法:
 //json格式的字符串,单个的和数组类型的
     String json1="{\"id\":1001,\"name\":\"蓝星\"}";
     String json2="[{\"id\":1001,\"name\":\"蓝星\"},"
       + "{\"id\":1001,\"name\":\"蓝星\"},"
       + "{\"id\":1001,\"name\":\"蓝星\"},"
       + "{\"id\":1001,\"name\":\"蓝星\"}]";
     System.out.println(json1);
     System.out.println(json2);
1:怎样把java对象中封装的内容转化为json格式?
 JSONObject json1=JSONObject.fromObject("对象");
2:把json对象转换为字符串?(注意:json和转化后的字符串输出结果可能相同,但一个是json对象,一个是字符串)
 String str=json1.toString();
3:怎样把json对象中的内容输出来
   json1={"id":1001,"name":"蓝星"};
   person per=(person)json1.toBean(json1, person.class);----把json中的内容转化封装在javabean对象中
   System.out.println(per.getName());-----------------------把javabean对象中的值输出来
4:怎样把集合中的内容封装在json对象中;
JSONArray jsonarray=JSONArray.fromObject(list);-------------打印jsonarray输出json格式的数组,list中是一个个的对象
5:把json数组转化为字符串
String array=jsonarray.toString();--------------------------和单个对象一样
6:怎样把json数组内容输出来
Collection coll=jsonarray.toCollction(jsonarray,person.class);---将json中的内容保存在一个集合中
   for(person p1:coll){
      System.out.println(p1);
     }--------------------------------------------------------用循环的方式输出集合中的对象,一定是对象

二、在javascrip中的写法:
 
1:在javascript中创建对象,并向对象中添加数据
function lan(id,name){
 this.id = id;
    this.name = name;
    this.getId = function(){
  return this.id;    
    }
    this.getName = function(){
     return this.name;
    }
    this.setId = function(id){
     this.id = id;
    }
    this.setName = function(name){
     this.name = name;
    }
}
    ================================一条数据的转化格式========================
var lan1=new lan(1001,"蓝星");----向javascript对象中添加数据
2:将javascript对象中的数据转化为json格式;
var json1=JSON.stringify(lan1);------------输出结果是:{"id":1001,"name":"蓝星"}----------json格式
3:将json转化为字符串
var json2=JSON.stringify(json1);----------输出的结果是:"{\"id\":1001,\"name\":\"蓝星\"}"---字符串格式
var json2_1=JSON.stringify(json1);-------输出结果是:"\"{\\\"id\\\":1001,\\\"name\\\":\\\"蓝星\\\"}\""
4:将json中的值转化为javascript对象,然后再把对象中值输出来
var js=JSON.parse(json1);----------------将json中的内容封装在javascript对象中
alert(js.name+"-----"+js.id);---------输出对象中的值
========================多条数据的转化格式==================================
在js中创建一个数组--------将页面的多个值放在数组中
1:添加的是一个个的值,不是对象,json解析式
 var arr=new Array();
    arr.push("蓝星");
    arr.push("红心");
    arr.push("白皙");
    arr.push("紫嫣");
 1)  alert(arr);-----------得到的结果是:=====  蓝星,红心,白皙,紫嫣
   alert(arr[0]);--------得到的结果是:=====蓝星
 2):将js数组转化为json格式字符串
var json3=JSON.stringify(arr);
alert(json3);----------得到的结果是json格式的字符串:"[\"蓝星\",\"红心\",\"白皙\",\"紫嫣\"]"
 3):将json格式的字符串转化为json格式的数组
var json4=JSON.parse(json3);
alert(json4);----------------//得到的结果是json格式的数组:["蓝星","红心","白皙","紫嫣"]
 4):将json格式的数组转化为js格式的数组
var json4=JSON.parse(json4);
alert(json4);---------------------得到的结果是:蓝星,红心,白皙,紫嫣
alert(json4[0]);------------------得到结果是:蓝星
2:如果添加的是一个个的对象
 var arr=new Array();
 arr.push(new lan(1001,"蓝星"));
 arr.push(new lan(1002,"蓝星2"));
 arr.push(new lan(1003,"蓝星3"));
 arr.push(new lan(1004,"蓝星4"));
 1)alert(arr);---结果是:[Object,Object],[Object,Object],[Object,Object],[Object,Object]
    alert(arr[0].name);-----得到的结果是:蓝星
var json3=JSON.stringify(arr);
 2)alert(json3);--结果是[{"id":1001,"name":"蓝星"},{"id":1001,"name":"蓝星2"},
                        {"id":1001,"name":"蓝星3"},{"id":1001,"name":"蓝星4"}]
var json4=JSON.parse(json3);
//var json4=eval("("+json3+")");
 3)alert(json4);--结果[Object,Object],[Object,Object],[Object,Object],[Object,Object]
alert(json4[0].name);-----得到的结果是:蓝星

总结:==========
JSON.stringify:用处:
 1:将json格式的数组或是json格式转化为字符串
 2:将js对象转化为json格式
1)js对象是普通对象==转化为json格式对象
          "{\"id\":1001,\"name\":\"蓝星\"}"
2)js对象是数组==转化为json格式的数组
        [{"id":1001,"name":"蓝星"},{"id":1001,"name":"蓝星 
         2"}, {"id":1001,"name":"蓝星3"},{"id":1001,"name":"蓝星4"}] 
JSON.parse:用处
 1:将json格式对象或是json数组,转化为js对象或是js数组
  1)"{\"id\":1001,\"name\":\"蓝星\"}"===..parse转化后=[Object,Object]
  2)[{"id":1001,"name":"蓝星"},{"id":1001,"name":"蓝星 
         2"}, {"id":1001,"name":"蓝星3"},{"id":1001,"name":"蓝星4"}]
       通过JSON.parse转化后如下:
      [Object,Object],[Object,Object],[Object,Object],[Object,Object]

posted @ 2017-04-28 15:45  雪儿蛇王  阅读(1854)  评论(0编辑  收藏  举报