java怎么取json数据的值

Python07

java怎么取json数据的值,第1张

获取JSON的值。  就是解析JSON数据.

如果是简单的JSON数据, 并且只需要提取少量数据的值, 那么可以使用字符串的操作来实现,比如String.subString()...等

如果是比较复杂的JSON数据,或者需要提取的值比较多, 那么可以使用Gson, FastJSon 等第三方的jar来实现...

简单的Demo示例

第三方包使用的是Gson

import com.google.gson.JsonElement

import com.google.gson.JsonObject

import com.google.gson.JsonParser

public class GsonTest {

public static void main(String[] args) {

String strJson = "{ \"name\": \"张三\", \"age\": 12 }"

JsonParser parser = new JsonParser()

JsonElement je = parser.parse(strJson)

JsonObject jobj = je.getAsJsonObject()//从json元素转变成json对象

String name = jobj.get("name").getAsString()//从json对象获取指定属性的值

System.out.println(name)

int age = jobj.get("age").getAsInt()

System.out.println(age)

}

}

JSONObject j = new JSONObject()

j.put("id", "22")

j.put("name", "haha")

j.put("sex", "xixi")

System.out.println(j.get("id"))

如果不是Android开发环境的话,首先需要引入处理JSON数据的包:json-lib-2.2.3-jdk15.jar

Java样例程序如下:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

import net.sf.json.JSONArray

import net.sf.json.JSONObject

public class DoJSON {

public static void main(String[] args) {

JSONArray employees = new JSONArray() //JSON数组

JSONObject employee = new JSONObject()//JSON对象

employee.put("firstName", "Bill")//按“键-值”对形式存储数据到JSON对象中

employee.put("lastName", "Gates")

employees.add(employee) //将JSON对象加入到JSON数组中

employee.put("firstName", "George")

employee.put("lastName", "Bush")

employees.add(employee)

employee.put("firstName", "Thomas")

employee.put("lastName", "Carter")

employees.add(employee)

System.out.println(employees.toString())

for(int i=0i<employees.size()i++) {

JSONObject emp = employees.getJSONObject(i)

System.out.println(emp.toString())

System.out.println("FirstName :\t" + emp.get("firstName"))

System.out.println("LastName : \t" + emp.get("lastName"))

}

}

}

运行效果:

[{"firstName":"Bill","lastName":"Gates"},{"firstName":"George","lastName":"Bush"},{"firstName":"Thomas","lastName":"Carter"}]

{"firstName":"Bill","lastName":"Gates"}

FirstName : Bill

LastName : Gates

{"firstName":"George","lastName":"Bush"}

FirstName : George

LastName : Bush

{"firstName":"Thomas","lastName":"Carter"}

FirstName : Thomas

LastName : Carter