Java - 如何从 JSON 架构中获取所有字段名称
Java - How to get all the field names from JSON Schema
{
"type": "TestType",
"schema": {
"type": "object",
"properties": {
"field1": {
"format": "date",
"label": "field 1",
"type": "string"
},
"field2": {
"format": "date",
"label": "field 2",
"type": "string"
}
},
"required": [],
"additionalProperties": false
}
}
大家好,我是 JSON Schema 的新手,我只想知道如何定义 Java 模型映射到 JSON Schema 上面,我想得到所有的定义中的字段名称。
所以这意味着我想像这样解析 JSON 架构和 return:
[field1, field2]
请注意,字段列表是自动的,可以在 JSON 架构中添加更多字段,字段 3、字段 4 ...
我假设您的 json
在一个名为 var
的字符串变量中。
使用 org.json
作为以下代码。
JSONObject jObj=new JSONObject(var);
ArrayList arr=new ArrayList();
for (Object keyObj: jObj.keySet())
{
String key = (String)keyObject;
arr.add(key);
}
就是这样。
我已经为那些使用 Maven 的人添加了 org.json
包的 Maven 依赖项!
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>20160810</version>
</dependency>
1.convert 到 JSONObject
2.save 在 List
3.convert List
至 Array
试试这个。
public void getKey(String response) {
List<String> keyList = new ArrayList<String>();
try {
JSONObject jsonObject = new JSONObject(response);
JSONObject schema = jsonObject.getJSONObject("schema");
JSONObject properties = schema.getJSONObject("properties");
Iterator iterator = properties.keys();
while (iterator.hasNext()) {
String key = iterator.next().toString();
keyList.add(key);
}
String[] arr = (String[]) keyList.toArray(new String[keyList.size()]);
} catch (JSONException e) {
e.printStackTrace();
}
}
{
"type": "TestType",
"schema": {
"type": "object",
"properties": {
"field1": {
"format": "date",
"label": "field 1",
"type": "string"
},
"field2": {
"format": "date",
"label": "field 2",
"type": "string"
}
},
"required": [],
"additionalProperties": false
}
}
大家好,我是 JSON Schema 的新手,我只想知道如何定义 Java 模型映射到 JSON Schema 上面,我想得到所有的定义中的字段名称。
所以这意味着我想像这样解析 JSON 架构和 return:
[field1, field2]
请注意,字段列表是自动的,可以在 JSON 架构中添加更多字段,字段 3、字段 4 ...
我假设您的 json
在一个名为 var
的字符串变量中。
使用 org.json
作为以下代码。
JSONObject jObj=new JSONObject(var);
ArrayList arr=new ArrayList();
for (Object keyObj: jObj.keySet())
{
String key = (String)keyObject;
arr.add(key);
}
就是这样。
我已经为那些使用 Maven 的人添加了 org.json
包的 Maven 依赖项!
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>20160810</version>
</dependency>
1.convert 到 JSONObject
2.save 在 List
3.convert List
至 Array
试试这个。
public void getKey(String response) {
List<String> keyList = new ArrayList<String>();
try {
JSONObject jsonObject = new JSONObject(response);
JSONObject schema = jsonObject.getJSONObject("schema");
JSONObject properties = schema.getJSONObject("properties");
Iterator iterator = properties.keys();
while (iterator.hasNext()) {
String key = iterator.next().toString();
keyList.add(key);
}
String[] arr = (String[]) keyList.toArray(new String[keyList.size()]);
} catch (JSONException e) {
e.printStackTrace();
}
}