Json到java对象android?
有人能帮我把这个JSON转换成Java对象吗。我通常使用GSON,但这次它似乎对我不起作用。问题是我想创建一个包含Json到java对象android?,android,json,gson,Android,Json,Gson,有人能帮我把这个JSON转换成Java对象吗。我通常使用GSON,但这次它似乎对我不起作用。问题是我想创建一个包含 Class JsonGotText{ String status; List<Object> result; } 试用 Class JsonGotText{ String status; HashMap<String, Object> result; } 您可能必须使用类型令牌,但稍后将保存您的工作 更新 似乎上面的句子听起来很混乱。下面是我想要Ev
Class JsonGotText{
String status;
List<Object> result;
}
试用
Class JsonGotText{
String status;
HashMap<String, Object> result;
}
您可能必须使用类型令牌,但稍后将保存您的工作
更新似乎上面的句子听起来很混乱。下面是我想要
EventPOJO
表示的澄清。EventPOJO将表示以下内容
{
"type": "event",
"decorated_time": 1346048488,
"guidOwner": 90,
"title": null,
"action_type": "event_relationship",
"summary": "river:event_relationship:object:event",
"annotation": null,
"group": ""
}
更新1@LalitPoptani要求提供准确的工作代码。给你 以下是一个工作示例:
public class Test {
private static String json =
"{"+
"\"status\": 0,"+
"\"result\": {"+
"\"1346053628\": {"+
"\"type\": \"default\","+
"\"decorated_time\": 1346053628,"+
"\"guidOwner\": 13716"+
"},"+
"\"1346051675\": {"+
"\"type\": \"event\","+
"\"decorated_time\": 1346051675,"+
"\"guidOwner\": 90"+
"},"+
"\"1346048488\": {"+
"\"type\": \"event\","+
"\"decorated_time\": 1346048488,"+
"\"guidOwner\": 90"+
"}"+
"}" +
"}";
public static class Event{
String type;
Long decorated_time;
Integer guidOwner;
}
public static class JSON{
Integer status;
HashMap<Long, Event> result;
}
public static void main(String[] args){
Gson gson = new Gson();
System.out.println("JSON: " + json);
JSON j = gson.fromJson(json, JSON.class);
for(Entry<Long, Event> e: j.result.entrySet()){
System.out.println(e.getKey() + ": " + e.getValue().guidOwner);
}
}
}
公共类测试{
私有静态字符串json=
"{"+
“状态”:0+
“\”结果\“:{”+
"\"1346053628\": {"+
“\”类型\“:\”默认值\“,”+
“\“装饰时间\”:1346053628,”+
“\“guidOwner\”:13716”+
"},"+
"\"1346051675\": {"+
“\”类型\“:\”事件\“+
“\“装饰时间\”:1346051675,”+
“\“guidOwner\”:90”+
"},"+
"\"1346048488\": {"+
“\”类型\“:\”事件\“+
“装饰时间”:1346048488+
“\“guidOwner\”:90”+
"}"+
"}" +
"}";
公共静态类事件{
字符串类型;
时间长;
整型guidOwner;
}
公共静态类JSON{
整数状态;
HashMap结果;
}
公共静态void main(字符串[]args){
Gson Gson=新的Gson();
System.out.println(“JSON:+JSON”);
JSON j=gson.fromJson(JSON,JSON.class);
对于(条目e:j.result.entrySet()){
System.out.println(e.getKey()+“:”+e.getValue().guidOwner);
}
}
}
json中的“result”对象应该是一个数组。是的,我认为是这样,但问题在于存储差异对象的数组。。。你知道吗?@LalitPoptani好吧,结果将出现在hashMap中:)这些键将是映射的键,POJO表示映射到的键。我不是说要把这些int作为属性。你是不是又看到了JsonGotObject?两件事。1.如果他使用JSONObject,他只需执行getJSONObject(“结果”);然后获取键并迭代到键中,然后获取表示其事件详细信息的JSONObject。2.如果他使用Gson,那么他将只获取JsonGotText对象并在hashmp中迭代。容易吗?@LalitPoptani 1。我讨厌填鸭式的人,他们应该学习。2.我没有得到报酬。所以,我想说多少就说多少,这取决于我,而不是你。3.OP问的不是你。4.你本来可以回答的!5.他们最好在谷歌雇佣我。:)我没说你要用勺子喂。你以前的回答一点也不清楚。所以,我只是要求您添加一个小的psuedo代码,以便OP更好地理解
{
"type": "event",
"decorated_time": 1346048488,
"guidOwner": 90,
"title": null,
"action_type": "event_relationship",
"summary": "river:event_relationship:object:event",
"annotation": null,
"group": ""
}
public class Test {
private static String json =
"{"+
"\"status\": 0,"+
"\"result\": {"+
"\"1346053628\": {"+
"\"type\": \"default\","+
"\"decorated_time\": 1346053628,"+
"\"guidOwner\": 13716"+
"},"+
"\"1346051675\": {"+
"\"type\": \"event\","+
"\"decorated_time\": 1346051675,"+
"\"guidOwner\": 90"+
"},"+
"\"1346048488\": {"+
"\"type\": \"event\","+
"\"decorated_time\": 1346048488,"+
"\"guidOwner\": 90"+
"}"+
"}" +
"}";
public static class Event{
String type;
Long decorated_time;
Integer guidOwner;
}
public static class JSON{
Integer status;
HashMap<Long, Event> result;
}
public static void main(String[] args){
Gson gson = new Gson();
System.out.println("JSON: " + json);
JSON j = gson.fromJson(json, JSON.class);
for(Entry<Long, Event> e: j.result.entrySet()){
System.out.println(e.getKey() + ": " + e.getValue().guidOwner);
}
}
}