如何获取对象内的对象名称? (JSON)

时间:2015-11-22 12:07:53

标签: java json json-simple

我试图找出(使用json-simple)如何获取对象中对象的名称。例如:

{ { "objs": { "obj1": "blah", "obj2": "blah" } } }

我想得到值obj1obj2(因为它们是对象的名称,这就是我想要的)。我如何使用JSON-Simple和Java将它们放入String []?

1 个答案:

答案 0 :(得分:1)

您可以使用 org.json 库。

Maven依赖:

<dependency>
    <groupId>org.json</groupId>
    <artifactId>json</artifactId>
    <version>20150729</version>
</dependency>
  

jar下载:http://mvnrepository.com/artifact/org.json/json

google gson

Maven依赖

<dependency>
    <groupId>com.google.code.gson</groupId>
    <artifactId>gson</artifactId>
    <version>2.4</version>
</dependency>
  

jar下载:http://mvnrepository.com/artifact/com.google.code.gson/gson/2.4

Org json示例

import org.json.JSONObject;

JSONObject jsonObject = new JSONObject("{ 'objs': { 'obj1': 'blah', 'obj2': 'blah' } } ");

JSONObject objs = jsonObject.getJSONObject("objs");

String obj1 = objs.getString("obj1");
String obj2 = objs.getString("obj1");

System.out.println(obj1);
System.out.println(obj2);

Google gson示例

import com.google.gson.JsonObject;
import com.google.gson.JsonParser;

JsonParser parser=new JsonParser();

JsonObject object=(JsonObject)parser.parse("{ 'objs': { 'obj1': 'blah', 'obj2': 'blah' } } ");

JsonObject objs2 = object.get("objs").getAsJsonObject();

String value1=objs2.get("obj1").getAsString();
String value2=objs2.get("obj2").getAsString();

System.out.println(value1);
System.out.println(value2);

JSON simple是一个旧库,不再维护,最新版本发布于2012年。google gsonorg json上次发布于2015年,无论如何,如果您需要要使用旧库,请查看文档:

  

https://code.google.com/p/json-simple/wiki/DecodingExamples