
一、前言
本文一共介绍JSON两种解析方式、JSON合法性验证的一个网站、JSONArray中删除元素、JSONObject中删除键值对,开发中基本上够用了。
二、JSON解析与JSON合法性验证
2.1 使用org.json解析
一共包括org.json.JSONArray、org.json.JSONObject两个类,看一个同时包含JSONObject、JSONArray的。
代码:
package com.csdn.example.JSONparsePackage1;
import org.json.JSONArray;
import org.json.JSONObject;
/**
* Created by maoqizhi on 2020/7/22.
*/
public class JSONParser3 {
public static void main(String[] args) {
//待解析的JSON字符串
String JSONString = "{'name':'卢本伟','age':24,'Hero':{'name':'Fizz','Position':'Mid','charactor':'killer'},'nickNames':['五五开','芦苇','white'],'Honors':[{'year':2011,'name':'TGA总决赛冠军'},{'year':2013,'name':'S3全球总决赛中国区冠军'},{'year':2013,'name':'S3全球总决赛亚军'}]}";
try {
JSONObject JSON = new JSONObject(JSONString); // 第一步,将string变为JSON 这里最外层是{ 所以是new JSONObject
/*
* 普通元素,getXxx()直接获取
*/
String name = JSON.getString("name");
int age = JSON.getInt("age");
System.out.println("姓名:"+name);
System.out.println("年龄:"+age);
System.out.println("————————————————————————————————");
/*
* 属性大括号包括,先获取JSONObject对象 getJSONObject() 然后进一步getXxx()解析属性
*/
JSONObject hero = JSON.getJSONObject("Hero");
String hero_name = hero.getString("name");
String hero_position = hero.getString("Position");
String hero_charactor = hero.getString("charactor");
System.out.println("擅长英雄:");
System.out.println("英雄名:"+hero_name);
System.out.println("位置:"+hero_position);
System.out.println("英雄定位:"+hero_charactor);
System.out.println("————————————————————————————————");
/*
* 属性被中括号包括,获取JSONArray对象,getJSONArray ,然后进一步遍历即可
*/
System.out.println("外号:");
JSONArray nickNames =