json 学习之(json基础)

一 json 简介

    json(javascript object  notation)javascript 对象表示方法。json是一种轻量级的文本数据交换格式,是一种存储和交换文本信息的语法。类似于xml,比xml更小,更快,更易解析。

  重要的特点总结:没有结束标签,更短,读写的速度更快,不适用保留字,使用数组,更易读写,易解析和生产。

 数据结构:对象和数组

 基本类型:string、number、boolean、null等

  例子:编写个人信息,要求包含个人姓名、年龄、性别、是否婚配、所学编程语言。

{
   "姓名":"三郎",
   "性别":"男",
   "年龄":22,
   "是否婚配":false,
   "语言":[       
    {"编号":1,"语言名称":"java","编辑工具":"myeclipse"},    
    {"编号":2,"语言名称":"c#","编辑工具":"visual studio"},    
    {"编号":3,"语言名称":"html","编辑工具":"Hbuilder"}        
   ]
}

二 使用java读取json数据

     前提条件:使用java操作json,必须要有java的类库,现在比较成熟、简单且被广大开发人员所使用的java类库是google-gson,可以先下载这个google-gson-2.2.4.zip

    第一步:使用myeclipse创建项目testjson

      


      第二步在项目testjson下创建文件夹lib


     第三步 将下载好的google-gson-2.2.4.zip解压,将里面的gson-2.2.4.jar文件放到lib目录下,然后选中gson-2.2.4.jar 点击右键build path





       第四步将messages.json放到testjon项目下面 创建测试文件test.java(注意:messages.json是最开始)

       第五步 创建测试类 

       demo.java

下面是详细代码
package com.testjson;

import java.io.FileNotFoundException;
import java.io.FileReader;
import com.google.gson.JsonArray;
import com.google.gson.JsonIOException;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
import com.google.gson.JsonSyntaxException;


/**
 * 使用java来读取json数据
 * */
public class Demo {
public static void main(String[] args) {
try {
JsonParser parser=new JsonParser();
JsonObject jo=(JsonObject) parser.parse(new FileReader("messages.json"));
System.out.println("姓名:"+jo.get("姓名").getAsString());
System.out.println("性别:"+jo.get("性别").getAsString());
System.out.println("年龄:"+jo.get("年龄").getAsInt());
System.out.println("是否婚配:"+jo.get("是否婚配").getAsBoolean());
//这里是遍历数组 循环输出
System.out.println("所学编程语言:");
JsonArray array=jo.get("语言").getAsJsonArray();
for (int i = 0; i < array.size(); i++) {
JsonObject o=array.get(i).getAsJsonObject();
System.out.println("编号:"+o.get("编号").getAsInt()+"--"+"语言名称:"+o.get("语言名称").getAsString()+"--"+"编辑工具:"+o.get("编辑工具").getAsString());
}
} catch (JsonIOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (JsonSyntaxException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}


}

        第六步 控制台输出








     
 
     
    
 



 

 

 

 

    

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值