我有以下json,我需要将其转换为java对象列表。
{
"model":[
{
"syscall_1":"execve",
"syscall_2":"brk"
},
{
"syscall_1":"brk",
"syscall_2":"access"
},
{
"syscall_1":"access",
"syscall_2":"mmap"
},
{
"syscall_1":"mmap",
"syscall_2":"access"
}
]
}
我正在使用gson及其TypeToken>(){}。getType()API,但是我对与输入json相对应的对象外观感到有些困惑。
在这种情况下如何使用TypeToken?
另一个选择(不使用类型令牌,但仍然实现您想要的功能)将是解析整个json对象,然后像这样访问模型数组:
import com.google.gson.Gson;
import java.util.List;
public class TestMe {
public static void main(String[] args) {
String jsonSt2 = "{\"model\":[{\"syscall_1\":\"execve\",\"syscall_2\":\"brk\"},{\"syscall_1\":\"brk\",\"syscall_2\":\"access\"},{\"syscall_1\":\"access\",\"syscall_2\":\"mmap\"},{\"syscall_1\":\"mmap\",\"syscall_2\":\"access\"}]}";
System.out.println("your json: " + jsonSt2);
ModelObject object = new Gson().fromJson(jsonSt2, ModelObject.class);
System.out.println("Created Model object, array size is " + object.model.size());
for (ModelItem mi : object.model) {
System.out.println(mi.syscall_1 + " " + mi.syscall_2);
}
}
}
class ModelObject {
List<ModelItem> model;
}
class ModelItem {
String syscall_1;
String syscall_2;
}
输出量
Created Model object, array size is 4
execve brk
brk access
access mmap
mmap access
mmap access
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句