java中json怎么运用?

Python014

java中json怎么运用?,第1张

JSON(JavaScript对象符号)是一种轻量级的数据交换格式。这是很容易为人类所读取和写入。这是易于机器解析和生成。它是基于JavaScript编程语言的一个子集 , 标准ECMA-262第三版- 1999年12月。JSON是一个完全独立于语言的文本格式,但使用C家族的语言,包括C,C + +,C#,Java中的JavaScript,Perl的,Python中,和许多其他程序员所熟悉的约定。这些特性使JSON成为理想的数据交换语言。他和map很类似,都是以

键/值 对存放的。

JSON 使用须要用的JAR包:

commons-lang.jar

commons-beanutils.jar

commons-collections.jar

commons-logging.jar

ezmorph.jar

json-lib-2.2.2-jdk15.jar

使用JSON中的JSONObject:

1.创建一个JSONObject对象,并使用put()方法添加元素:

首先我们创建一个User对象以备后用:

public class User {

private int id

private String name

private String pwd

private String sex

//get,set方法

@Override

//重写他的toString方法

public String toString() {

return this.name+"--"+this.pwd+"--"+this.sex

}

}

用自带的解析工具

package cn.edu.bzu.json

 

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

 

public class Read {

    public static void main(String args[]){

        JsonParser parse =new JsonParser()  //创建json解析器

        try {

            JsonObject json=(JsonObject) parse.parse(new FileReader("weather.json"))  //创建jsonObject对象

            System.out.println("resultcode:"+json.get("resultcode").getAsInt())  //将json数据转为为int型的数据

            System.out.println("reason:"+json.get("reason").getAsString())     //将json数据转为为String型的数据

             

            JsonObject result=json.get("result").getAsJsonObject()

            JsonObject today=result.get("today").getAsJsonObject()

            System.out.println("temperature:"+today.get("temperature").getAsString())

            System.out.println("weather:"+today.get("weather").getAsString())

             

        } catch (JsonIOException e) {

            e.printStackTrace()

        } catch (JsonSyntaxException e) {

            e.printStackTrace()

        } catch (FileNotFoundException e) {

            e.printStackTrace()

        }

    }

}

如果聊天数据的结构是固定的或变化不大的。

就直接“编排”json字符串。

为要输出的对象增加一个String toJSON()方法

StringBuilder b=new StringBuilder()

b.append("{ name:\"")

b.append(username)

b.append("\"}")

依次类推

return b.toString()

适合绝大多数情况。

补充:json是做交换格式,查询效率非常低,如果做存储的检索格式就误用了。

就是说“聊天信息的保存用json应该可以吧”还不如你之前的mysql数据库。

json用在客户端往服务端发送的通讯交换数据的格式上。服务端收到后转为数据库中或内存中存放。