gpt4 book ai didi

json - 将 JSON 解析为 Java bean - 列出剩余的 null

转载 作者:行者123 更新时间:2023-12-04 05:02:41 24 4
gpt4 key购买 nike

我正在尝试使用 GSON 将一些 JSON 解析为 Java 对象。我的 json 在这里:http://ec2-50-112-212-186.us-west-2.compute.amazonaws.com/ske.json

以下是我的 Java bean。我在 JsonGen 的帮助下创建了它:

package ske.entities;

import java.util.List;

public class WordSketch{

private List<Gramrels> gramrels;
private String corp_full_name;

public String getCorp_full_name() {
return corp_full_name;
}
public void setCorp_full_name(String corp_full_name) {
this.corp_full_name = corp_full_name;
}
public List<Gramrels> getGramrels(){
return this.gramrels;
}
public void setGramrels(List<Gramrels> gramrels){
this.gramrels = gramrels;
}

public static class Gramrels {

private List<Words> words;
private Number count;
private String name;
private Number score;
private Number seek;

public List<Words> getWords(){
return this.words;
}
public void setWords(List<Words> words){
this.words = words;
}
public Number getCount(){
return this.count;
}
public void setCount(Number count){
this.count = count;
}
public String getName(){
return this.name;
}
public void setName(String name){
this.name = name;
}
public Number getScore(){
return this.score;
}
public void setScore(Number score){
this.score = score;
}
public Number getSeek(){
return this.seek;
}
public void setSeek(Number seek){
this.seek = seek;
}
}

public static class Words {
private Number count;
private Number id;
private String lempos;
private Number score;
private Number seek;
private String word;

public Number getCount(){
return this.count;
}
public void setCount(Number count){
this.count = count;
}
public Number getId(){
return this.id;
}
public void setId(Number id){
this.id = id;
}
public String getLempos(){
return this.lempos;
}
public void setLempos(String lempos){
this.lempos = lempos;
}
public Number getScore(){
return this.score;
}
public void setScore(Number score){
this.score = score;
}
public Number getSeek(){
return this.seek;
}
public void setSeek(Number seek){
this.seek = seek;
}
public String getWord(){
return this.word;
}
public void setWord(String word){
this.word = word;
}
}
}

但是,当我调用 WordSketch gramrels = gson.fromJson(new InputStreamReader(response.getEntity().getContent()), WordSketch.class); corp_full_name已满,但 gramrels一片空白。我究竟做错了什么?

这是我第一次使用 Json,所以我还是新手。

谢谢,

最佳答案

我认为您的问题只是该字段的名称。

在您的类(class)中,名称是“gramrels”,但在您的 JSON 响应中,它是“Gramrels”(大写)。您的程序和 JSON 中的变量名称必须相同,因为 GSON 允许您从 JSON 响应中仅获取您感兴趣的那些字段...因此,如果它在响应中找到不'不与您的任何类属性相对应,GSON 只是忽略该值。

我建议你使用注解 @SerializedName , 这样:

@SerializedName("Gramrels")
private List<Gramrels> gramrels;

这样,您可以按照 Java 命名约定将属性名称保持为小写,但您告诉 GSON 您的 JSON 响应中此参数的名称将对应于“Gramrels”...

您也可以对其他变量执行相同操作,例如:
@SerializedName("corp_full_name")
private String corpFullName;

因为 corp_full_name不遵循 Java 命名约定...

关于json - 将 JSON 解析为 Java bean - 列出剩余的 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15937047/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com