这是我目前在我的代码中使用的 json:
{"forceDeviceLockout":0,"canStartValue":true,"destructOnRead":[30,60,300]}
我使用以下函数来获取 json 值:
private Object getValueForField(Field field) {
if (runtimeConfiguration.has(field.fieldName) && field.updateFromServer) {
try {
Object value = runtimeConfiguration.get(field.fieldName);
if (value instanceof JSONArray) {
JSONArray values = (JSONArray) value;
if (values.get(0) instanceof Number) {
long[] retVals = new long[values.length()];
for (int i = 0; i < values.length(); i++) {
retVals[i] = ((Number) values.get(i)).longValue();
}
return retVals;
}
} else if (value instanceof Number) {
return ((Number) value).longValue();
} else {
return value;
}
} catch (Exception e) {
e.printStackTrace();
}
}
return field.defaultValue;
}
现在,我有一个新的嵌套 json 如下:
{"forceDeviceLockout":0,"canStartValue":true,"destructOnRead":[30,60,300],"NEWVALUE":{"canStartNewValue1":true,"canStartroupValue":true}
在新的 json 中,我添加了嵌套的 json 对象:NEWVALUE,它本身有 2 个对象。
我在 json 方面有点弱,所以不确定如何修改我的代码以检索上述单个值。有任何想法吗?