1. 程式人生 > >json介紹與解析

json介紹與解析

json介紹

基本概念

JavaScript Object Notation符號
基於JavaScript語言的輕量級的資料交換格式;
即:用來傳輸資料的一種格式.

json物件

名(鍵)值對(name:value)
例:

{name1:value1,name2:value2......}
鍵值對的順序無所謂

json陣列

只是這麼叫,並不等同於Object[]我們平時使用的陣列概念

[value1,value2,value3,...]

json解析

解析方式有org.json,Gson,fastJson等。。。

org.json解析


* 當json字串以”{“開始,用JSONObject解析
* 當json字串以”[“開始,用JSONArray解析

應為我比較喜歡用Gson,所以只介紹Gson解析

User.java

public class User {
    private String name;
    private int age;
    public User() {

    }
    public User(String name, int age) {
        super();
        this.name = name;
        this.age = age;
    }
    public
String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } @Override public String toString() { return "User [name="
+ name + ", age=" + age + "]"; } }

用org.json解析String json = “{name:’zhangsan’,age:20}”;

    String json = "{"name": "李四", "age": 20}";
    JSONObject object = new JSONObject(json);
    String name = object.getString("name");
    int age = object.getInt("age");
    System.out.println(name + "   " + age);
    User user = new User(name, age);
    System.out.println(user);

列印結果為:User [name=李四 , age=20 ]

json解析(Gson)

Gson解析簡介

Gson 是 Google 提供的用來在 Java 物件和 JSON 資料之間進行對映的 Java 類庫。可以將一個 JSON 字串轉成一個 Java 物件,或者反過來。

Gson類的常用方法

  • 1.< T > T fromJson(String json,Class clz):將json字串轉成一個類的物件形式
  • 2.String toJson(Object obj):將一個javabean類或者集合的物件轉成json字串的形式

舉例

String json = "{name:'zhangsan',age:20}";
Person p =new Gson().fromJson(json, Person.class);

Person類中定義了name,age屬性

用Gson解析String json = “{name:’zhangsan’,age:20}”;

    String json = "{"name": "李四", "age": 20}";
    // 1、建立一個Gson物件
    Gson gson = new Gson();
    // 2、解析字串. User.class : 1、必須有無參的構造方法 2、每個屬性必須提供setter getter方法
    // 3、類的屬性要和json格式的字串中的鍵值對要匹配
    User user = gson.fromJson(json, User.class);
    System.out.println(user);

列印結果為:User [name=李四 , age=20 ]

注意: 在用GSON/fastjson解析時,javabean中的屬性名和資料型別一定要跟json字串中的完全一樣!

相關推薦

json介紹解析

json介紹 基本概念 JavaScript Object Notation符號 基於JavaScript語言的輕量級的資料交換格式; 即:用來傳輸資料的一種格式. json物件 名(鍵)值對(name:value) 例: {

Java-Socket通訊 同時JSON傳遞解析

服務端 import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.O

Unity序列化之XML,JSON--------合成解析【轉載】

尊重原創,轉載請註明出處,謝謝! 最近在學熱更新,涉及到資源熱更,所以就瞭解了XML,JSON相關的東西。這方面網上資料還是比較多的,所以這裡主要是總結一下基本使用方法和一些應用的Demo。 1.先介紹一下 XML 和 JSON 是什麼東西吧? (1

深入理解JVM虛擬機器4:Java class介紹解析實踐

深入理解JVM虛擬機器4:Java class介紹與解析實踐 轉自https://juejin.im/post/589834a20ce4630056097a56 前言 身為一個java程式設計師,怎麼能不瞭解JVM呢,倘若想學習JVM,那就又必須要了解Class檔案,Class之

json生成解析例項

重點類:JsonWriter,JsonRead,JSONObject,JSONTokener,JSONArray. 流程: 1. 首先在MainActivity.java類中的四個按鈕對應的是 前面兩個是利用JsonParserUtil.java這個類來生成或者解析j

Json打包解析

package com.example.global; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import o

Unity序列化之XML,JSON--------合成解析

public void CreateXML() { //xml儲存的路徑,注意路徑。 string filepath = "E:/my.xml"; //繼續判斷當前路徑下是否有該檔案 if(!File.Exists (filepath)) { //建立

Qt之JSON生成解析

簡述 Qt5 中包含了處理 JSON 的類,均以 QJson 開頭(例如:QJsonDocument、QJsonArray、QJsonObject),在 QtCore 模組中,不需要額外引入其它模組。 常用的 JSON 庫 json.org 中介紹了 JSON 在各種語

Qt 之 JSON 生成解析

簡述 Qt5 中包含了處理 JSON 的類,均以 QJson 開頭(例如:QJsonDocument、QJsonArray、QJsonObject),在 QtCore 模組中,不需要額外引入其它模組。 | 常用的 JSON 庫 json.org 中介紹

JSON數據的生成解析

turn sco 個數 學生 jar包 網上 get main gets JSON數據的生成與解析。首先先到網上下載一個json jar包,我用的是org.json 演示樣例代碼: package json; import org.json.JSONA

android 訪問web端解析json,模擬用戶登錄

android用戶登錄 與解析json數據 之前寫過一個java web端的登錄驗證,最後返回一個json字符串。字符串格式如下:{"appmsg":"賬號或密碼錯誤","appcode":0,"_default_boolean_a":false}今天就結合著Android來寫一個簡單的登錄。註意:

json數據的拼接解析

span pda json數據 bbb data XML art pom .json json數據格式 [{ "firstName": "Brett", "lastName":"McLaughlin", "email": "aaaa" }, { "firstName":

Unity3d數據存儲 PlayerPrefs,XML,Json數據的存儲解析

文件 windows play toe creat 擁有 add key值 判斷 今天來復習一下數據存儲方面的基礎知識,Unity3d中常用的數據存儲方式有Unity自帶的PlayerPrefs, XML文檔, Json文檔,還有常用的輕量級數據庫SQL, 涉及的瑣碎知識非

python解析HTML之:PyQuery庫的介紹使用

att 用法 hello ext dom 的人 inf 目標 title 本篇大部分轉載於https://www.jianshu.com/p/c07f7cd1b548 先放自已自己解析techweb一個網站圖片的代碼 from pyquery import PyQuery

iOS開發之JSON格式數據的生成解析

添加 json intern 對象 RM use convert mail value 我們為什麽要用JSON格式的數據? JSON格式取代了xml給網絡傳輸帶來了很大的便利,但是卻沒有了xml的一目了然,尤其是json數據很長的時候,我們會陷入繁瑣復雜的數據節點查找中。

C++ Jsoncpp原始碼編譯解析Json

1.Json 資料表示方式介紹   這個可以看之前的一個文章裡面有說明:Java解析(讀取)Json資料 2.C++ Jsoncpp 2.1 Jsoncpp介紹   (1)JsonCpp主要包含三種類型的class:Value Reader Writer;     Json::V

關於Qt中QJsonObject、QJsonArray生成解析JSON檔案

使用QJsonArray寫檔案:   QString fileName = ":load.json";     QFile srcFile(fileName);     if(!srcFile.open(QFile::ReadWrite)){ &

關於json封裝前臺解析(商城標籤的封裝前端解析展示資訊)

 關於json封裝與前臺解析 本文以自己寫的商城專案一個小模組為例,servlet裡通過呼叫相應的方法得到一個list集合的商品物件,通過一定的規則封裝json,然後傳送到前臺頁面,前臺頁面經過解析json資料,遍歷資料將資料資訊展示在前端介面中。 通過前端傳來的相應

Java 6---JSON的使用解析

導讀 1.簡介 2.JSON解析 簡介 JSON解析 如上圖右擊複製在專案中的jar包,按圖操作便匯入了jar包,匯入後會多出下圖的檔案目錄,如果想刪除,可以右擊這個多出來的檔案,如圖 fastJson解析JSON

Xamarin.Android下獲取解析JSON

一、新建專案 1.新建一個Android專案,並命名為為NetJsonList 2.右擊引用,選擇新增引用,引用System.Json.dll 二、同步請求 既然是跨平臺,我們自然不能按照java下的方式進行編寫,否則如何跨平臺呢,所以我們需要使用Syste.Net名稱空間下的兩個類: