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

How to get names of objects within object? (JSON)

我正在尝试弄清楚(使用 json-简单)如何在对象中获取对象的名称。例如:

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

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

您可以使用 org.json 库。

Maven 依赖:

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

jar download: http://mvnrepository.com/artifact/org.json/json

googlegson

Maven 依赖:

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

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

组织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