JSON从入门到放弃

本文详细介绍了JSON(JavaScript Object Notation)数据交换格式的语法规则,包括对象和数组的表示,以及如何访问JSON数据。同时,阐述了在JavaScript中JSON对象与字符串的转换方法,并展示了在Java中解析和生成JSON的示例。此外,还提及了遍历JSON对象和将列表、地图转换为JSON的方法。
摘要由CSDN通过智能技术生成

JSON(JavaScript Object Notation, JS 对象简称) 是一种轻量级的数据交换格式!

JSON 语法规则:

  • 大括号 {} 保存对象
  • 中括号 [] 保存数组,数组可以包含多个对象
  • JSON 数据的书写格式是:key : value

JSON 对象格式:

{
    "people": [
    { "name":"zhangsa", "number":"13144444444"}, 
    { "name":"zhangwu", "number":"13155555555"}, 
    { "name":"zhangsi", "number":"13166666666"}
    ]
}

访问 name = zhangsa :

people[0].name
people[0]['name']

(JS)JSON对象和JSON字符串的转换

JSON是以字符串的形式传递的,而JS操作的是JSON对象

JSON 字符串:var jsonStr ='{"name":"Liza", "password":"123"}';

1、 JSON字符串转化 JSON对象

var jsonObject= JSON.parseJSON(jsonstr);

2、 JSON对象转化 JSON 字符串

var jsonstr =JSON.stringify(jsonObject );//JSON转化为字符串可以用JSON.stringify() 方法

JS遍历JSON对象

var packJson  = {"name":"Liza", "password":"123"} ;
//遍历packJson 对象的每个key/value对,k为key
for(var k in packJson ){
   alert(k + " " + packJson[k]);
}

JAVA解析JSON

let json ={"name":"zhangsan"};

java: public People{
          public String name;
          //setter
          //getter
          public People(String name){
            this.name = name
          }
      }

Json=>Java 对象,使用JSONObject

JSONObject jsonObject=JSONObject.fromObject(json );
People PEOPLE=(People)JSONObject.toBean(jsonObject, People.class);

Java =>Json对象

People people = new People();
people.setName("zhangsan");
==
JSONObject peopleObjJson= JSONObject.fromObject(people);
String peopleJson=peopleObjJson.toString();
==>{"name":"zhangsan"};

List=>Json

List : List peopleList = new ArrayList();
            peopleList.add(new People("zhangsan"));
            peopleList.add(new People("zhangsi"));
            
Json : JSONArray peopleListArray=JSONArray.fromObject(peopleList);
       System.out.println("peopleListArray:"+peopleListArray.toString());
==>peopleListArray :[{"name":"zhangsan"},{"name":"lisi"}]

Json=>List

String jsonList = "[{\"name\":\"zhangsan\"},{\"name\":\"lisi\"}]";
List<People> peopleList=(List<People>)JSONArray.toList(JSONArray.fromObject(jsonList), People.class);
//遍历
Iterator iterator = peopleList.iterator();
        while (iterator.hasNext()){
            System.out.println(iterator.next());
        }
==>{"name":"zhangsan"}
   {"name":"lisi"}

Map=>Json

Map map = new HashMap();
map.put("name","zhansgan");
map.put("name","lisi");

JSONObject mapObject=JSONObject.fromObject(map);
System.out.println("mapObject"+mapObject.toString());
==>mapObject:{"name":"zhangsan"},{"name":"lisi"}

Json=>Map

String jsonMap= "[{\"name\":\"zhangsan\"},{\"name\":\"lisi\"}]";
Map map = JSONObject.parseObject(jsonMap);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值