我跟随Json。请帮我通过Java获取所有组件。
{
"Result":{
"results":2,
"tags":[
{
"id":1,
"name":"かわいい",
"weight":34
},
{
"id":4,
"name":"すっぴん",
"weight":12
}
]
}
}
请帮忙!
答案 0 :(得分:3)
使用以下两个模型类,并将其与JSONObject类映射。
import java.util.List;
import javax.xml.bind.annotation.XmlRootElement;
@XmlRootElement(name="Result")
public class Result {
int results;
List<Tags> tags;
public int getResults() {
return results;
}
public void setResults(int results) {
this.results = results;
}
public List<Tags> getTags() {
return tags;
}
public void setTags(List<Tags> tags) {
this.tags = tags;
}
}
import javax.xml.bind.annotation.XmlRootElement;
@XmlRootElement(name="tags")
public class Tags {
int id;
String name;
int weight;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getWeight() {
return weight;
}
public void setWeight(int weight) {
this.weight = weight;
}
}
然后使用以下代码,基本上你必须采用json主体并将其分配到json对象中。然后将其分配给模型类
import org.json.JSONObject;
import com.google.gson.Gson;
public class test {
public static void main(String[] args) throws ClassNotFoundException {
//Result result = new Result();
String jsonBody =" { \"Result\":{ \"results\":2, \"tags\":[ { \"id\":1, \"name\":\"fghgf\", \"weight\":34 }, { \"id\":4, \"name\":\"fghfgh\", \"weight\":12 } ] }} ";
JSONObject jsonObject = null;
jsonObject = new JSONObject(jsonBody);
for (int x = 0; x < jsonObject.getJSONObject("Result").length(); x++) {
JSONObject jObject = new JSONObject();
jObject.put("Result", jsonObject.getJSONObject("Result"));
String theType = "class path." + "Result";
Class<?> theClass = Class.forName(theType);
Gson converter = new Gson();
Result result = (Result) converter.fromJson(jsonObject.getJSONObject("Result").toString(), theClass);
}}
}
您必须获得以下两个导入的依赖项
import org.json.JSONObject;
import com.google.gson.Gson;
答案 1 :(得分:1)
创建名为json
的地图。
创建名为result
的地图,并使用键&#34;结果&#34;将其插入json
。
使用键&#34;结果&#34;将值2
插入result
。
创建一个列表,将其命名为tags
,然后使用密钥&#34;标记&#34;将其插入result
。
创建地图,将其称为tagEntry
。
插入键/值对&#34; id&#34;:1,&#34; name&#34;:&#34;かわいい&#34;,&#34; weight&#34;:34进入tagEntry
将tagEntry
插入tags
。
对第二个tagEntry
值重复最后3个步骤。 (务必创建新 tagEntry
地图。)
将json
序列化为JSON字符串。
(或者你想要走另一条路?如果是这样,那就完全相反了。)
答案 2 :(得分:0)
简单地使用模型类并使用gson依赖关系将json映射到类模型