json在java中按键选择多个值
我有一个json,如下所示json在java中按键选择多个值,java,json,Java,Json,我有一个json,如下所示 [{ "D_Table_Name": "BUILDING", "S_Table_Name": "View1", "S_Data_Field_Name": "USECD", "D_Field_Name": "Description", "MappingCode": "FIELD" }, { "D_Table_Name": "BUILDING", "S_Table_Name": "View1", "S
[{
"D_Table_Name": "BUILDING",
"S_Table_Name": "View1",
"S_Data_Field_Name": "USECD",
"D_Field_Name": "Description",
"MappingCode": "FIELD"
},
{
"D_Table_Name": "BUILDING",
"S_Table_Name": "View1",
"S_Data_Field_Name": "USECD",
"D_Field_Name": "StndCode",
"MappingCode": "FIELD"
},
{
"D_Table_Name": "asdasd",
"S_Table_Name": "View1",
"S_Data_Field_Name": "qwew",
"D_Field_Name": "ijhbgr4",
"MappingCode": "FIELD"
},
{
"D_Table_Name": "qwsdcv",
"S_Table_Name": "View1",
"S_Data_Field_Name": "kjmnbv",
"D_Field_Name": "dszfs",
"MappingCode": "FIELD"
}]
如何获取key
S\u Table\u Name的所有值假定您使用任何特定的库将JSON字符串转换为对象,假设我使用库
List sTableNameValues=new ArrayList();
List input=new GSON.fromJSON(inputJSONString);
for(Map.Entry:input.entrySet()){
if(entry.getKey().equals(“S_Table_Name”)){
sTableNameValues.add(entry.getValue());
}
}
//现在,所有S_Table_Name值都在列表中。
假设您正在使用任何特定的库将JSON字符串转换为对象,假设我正在使用库
List sTableNameValues=new ArrayList();
List input=new GSON.fromJSON(inputJSONString);
for(Map.Entry:input.entrySet()){
if(entry.getKey().equals(“S_Table_Name”)){
sTableNameValues.add(entry.getValue());
}
}
//现在,所有S_Table_Name值都在列表中。
类似的内容应该会有所帮助。在您的情况下,表达式应类似于:
$[*].S_Table_Name
像这样的东西应该会有帮助。在您的情况下,表达式应类似于:
$[*].S_Table_Name
使用杰克逊图书馆:
ObjectMapper mapper = new ObjectMapper();
JsonNode array = mapper.readValue(yourJson, JsonNode.class);
获取值:
for (int i = 0; i < array.size(); i++) {
String reportKey = array.get(i).get("S_Table_Name").textValue();
System.out.println(reportKey);
}
for(int i=0;i
使用jackson库:
ObjectMapper mapper = new ObjectMapper();
JsonNode array = mapper.readValue(yourJson, JsonNode.class);
获取值:
for (int i = 0; i < array.size(); i++) {
String reportKey = array.get(i).get("S_Table_Name").textValue();
System.out.println(reportKey);
}
for(int i=0;i
您还可以使用org.json.JSONObject
库。请参阅以下代码以了解此信息:
String response = "[{\"D_Table_Name\": \"BUILDING\",\"S_Table_Name\": \"View1\",\"S_Data_Field_Name\": \"USECD\",\"D_Field_Name\": \"Description\",\"MappingCode\": \"FIELD\"},{\"D_Table_Name\": \"BUILDING\",\"S_Table_Name\": \"View1\",\"S_Data_Field_Name\": \"USECD\",\"D_Field_Name\": \"StndCode\",\"MappingCode\": \"FIELD\"},{\"D_Table_Name\": \"asdasd\",\t\t\"S_Table_Name\": \"View1\",\"S_Data_Field_Name\": \"qwew\",\"D_Field_Name\": \"ijhbgr4\",\"MappingCode\": \"FIELD\"},{\"D_Table_Name\": \"qwsdcv\",\"S_Table_Name\": \"View1\",\t\"S_Data_Field_Name\": \"kjmnbv\",\"D_Field_Name\": \"dszfs\",\"MappingCode\": \"FIELD\"}]";
JSONArray responseArray = new JSONArray(response);
if (responseArray.length() > 0) {
for (int i = 0; i < responseArray.length(); i++) {
JSONObject responseObject = responseArray.getJSONObject(i);
if (responseObject.has("S_Table_Name")) {
String S_Table_Name = responseObject.getString("S_Table_Name");
System.out.println(S_Table_Name);
}
}
}
“建筑工程”是一个表面上的表面上的表面上的表面上的表面上的表面上的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的名称的表面的表面的表面的名称的表面的表面的表面的表面的名称的名称的表面的名称的名称的名称的名称的表面的名称的表面的名称的表面的表面的名称的表面的表面的名称的名称的名称的字段\“},{\”D_表\u名称\“视图1\”,“S-U数据场”数据场域名称“:“qwew\”,“D-U数据场域域名称”以及“S-U数据场域域名称”中,“D-U场域名称”中,“D-D数据场域名称”中,“D-D数据场域名称”中的一个数据场名称“,“D-D-D-D-D-D-D-D-D-D-D-D-D-D-D-D-D-D-D-D-D-D-D-D-D-D-D-D-D-D-D-D-D-D-D-D-D-D-D-D-D-D-D-D-D-D-D-D-D-D-D-D-D-D-D-D-D-D-D-D-D-D-D-D-D-D-D-D-D-D-D-D-D-D-D-D-D-D\“}]”;
JSONArray responseArray=新JSONArray(响应);
if(responseArray.length()>0){
对于(int i=0;i
您也可以使用org.json.JSONObject
库。请参阅以下代码:
String response = "[{\"D_Table_Name\": \"BUILDING\",\"S_Table_Name\": \"View1\",\"S_Data_Field_Name\": \"USECD\",\"D_Field_Name\": \"Description\",\"MappingCode\": \"FIELD\"},{\"D_Table_Name\": \"BUILDING\",\"S_Table_Name\": \"View1\",\"S_Data_Field_Name\": \"USECD\",\"D_Field_Name\": \"StndCode\",\"MappingCode\": \"FIELD\"},{\"D_Table_Name\": \"asdasd\",\t\t\"S_Table_Name\": \"View1\",\"S_Data_Field_Name\": \"qwew\",\"D_Field_Name\": \"ijhbgr4\",\"MappingCode\": \"FIELD\"},{\"D_Table_Name\": \"qwsdcv\",\"S_Table_Name\": \"View1\",\t\"S_Data_Field_Name\": \"kjmnbv\",\"D_Field_Name\": \"dszfs\",\"MappingCode\": \"FIELD\"}]";
JSONArray responseArray = new JSONArray(response);
if (responseArray.length() > 0) {
for (int i = 0; i < responseArray.length(); i++) {
JSONObject responseObject = responseArray.getJSONObject(i);
if (responseObject.has("S_Table_Name")) {
String S_Table_Name = responseObject.getString("S_Table_Name");
System.out.println(S_Table_Name);
}
}
}
“建筑工程”是一个表面上的表面上的表面上的表面上的表面上的表面上的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的表面的名称的表面的表面的表面的名称的表面的表面的表面的表面的名称的名称的表面的名称的名称的名称的名称的表面的名称的表面的名称的表面的表面的名称的表面的表面的名称的名称的名称的字段\“},{\“D_表\u名称\”“1月1号视图”、“1月1号视图”和“S-U-U数据场域域数据场域数据场域数据场名称\:“qwew\”、“D-U场域数据场名称”和“D-U场域数据场名称\”,\t-t-t-t-t-t-t-t-t-t-t-S-D-D-D-D-D-D-D-D-D-D-D-D-D-D-D-D-D-D-D-D-D-D-D-D-D-D-D-D-D-D-D-D-D-D-D-D-D-D-D-D-D-D-D-D-D-D-D-D-D-D-D-D-D-D-D-D-D-D-D-D-D-D-D-D-D-D-D-D-D-D-D-D-D-D-D-D“}]”;
JSONArray responseArray=新JSONArray(响应);
if(responseArray.length()>0){
对于(int i=0;i