我有以下JSON字符串:
{
"ms": "images,5160.1",
"turl": "http://ts1.mm.bing.net/th?id=I4693880201938488&pid=1.1",
"height": "178",
"width": "300",
"imgurl": "http://www.attackingsoccer.com/wp-content/uploads/2011/07/World-Cup-2012-Draw.jpg",
"offset": "0",
"t": "World Cup 2014 Qualification – Europe Draw World Cup 2012 Draw ...",
"w": "719",
"h": "427",
"ff": "jpeg",
"fs": "52",
"durl": "www.attackingsoccer.com/2011/07/world-cup-2012-qualification-europe...",
"surl": "http://www.attackingsoccer.com/2011/07/world-cup-2012-qualification-europe-draw/world-cup-2012-draw/",
"mid": "D9E91A0BA6F9E4C65C82452E2A5604BAC8744F1B",
"k": "6",
"ns": "API.images"
}
我需要将值存储imgurl
在单独的字符串中。
这是我到目前为止所拥有的,但这只是为我提供了整个JSON字符串,而不是特定的imgurl字段。
Gson gson = new Gson();
Data data = new Data();
data = gson.fromJson(toExtract, Data.class);
System.out.println(data);
toExtract
是JSON字符串。这是我的数据类:
public class Data
{
public List<urlString> myurls;
}
class urlString
{
String imgurl;
}
解析这种简单的结构时,不需要专用的类。
解决方案1:
要使用gson从字符串中获取imgurURL,可以执行以下操作:
JsonParser parser = new JsonParser();
JsonObject obj = parser.parse(toExtract).getAsJsonObject();
String imgurl = obj.get("imgurl").getAsString();
这使用原始解析到JsonObject中。
解决方案2:
另外,您也可以Properties
使用
Properties data = gson.fromJson(toExtract, Properties.class);
并使用
String imgurl = data.getProperty("imgurl");
问题内容: 我有以下JSON字符串: 我需要将值存储在单独的字符串中。 这是我到目前为止所拥有的,但这只是为我提供了整个JSON字符串,而不是特定的imgurl字段。 是JSON字符串。这是我的数据类: 问题答案: 解析这种简单的结构时,不需要专用的类。 解决方案1: 要使用gson从字符串中获取imgurURL,可以执行以下操作: 这使用原始解析到JsonObject中。 解决方案2: 另外,您
问题内容: 确定,所以我编辑了问题,因为它不够清楚。 编辑2 :更新了JSON文件。 我在Android应用程序中使用GSON,我需要解析来自服务器的JSON文件,这些文件有点太复杂了。我不想让我的对象结构太沉重,所以我想简化内容: 所以我的对象的结构将不是JSON文件的结构。 例如,如果在JSON中,我有以下内容: 我不想保留我当前的对象结构,即一个对象,其中包含一个和一个“总计”。但是我只想将
问题内容: 我想基于字段值将json对象反序列化为特定类型的对象(使用Gson库),例如: 因此,字段将具有不同(但已知)的值。基于该值,我需要将该json对象反序列化为适当的模型对象,例如:Type1Model,Type2Model等。我知道我可以轻松地在反序列化之前通过将其转换为,迭代并确定应该反序列化为哪种类型来完成此操作。 。但是我认为这是丑陋的方法,我正在寻找更好的方法。有什么建议? 问
当我试图使用Gson库反序列化JSON对象数组时,我遇到了一个问题。 JSON数组的一个示例: 你怎么认为?反序列化这种JSON响应的正确Java代码是什么?
问题内容: 我在尝试使用Gson库反序列化对象的JSON数组时遇到问题。 JSON数组的示例: 你怎么看?反序列化此类JSON响应的正确Java代码是什么? 问题答案: 要反序列化JSONArray,您需要使用TypeToken。您可以从GSON用户指南中了解更多信息。示例代码: 如果您有JSONArray,则可以使用
问题内容: 我在使用Gson解析JSON响应时遇到问题。 JSON字串: 我有这两个课程: 但是当使用Gson解析这个时我有一个异常。我知道这是因为响应数组的第一个元素不是对象,而是整数。 所以问题是,我能以某种方式解决它吗? 问题答案: 您必须编写一个 自定义反序列化器 。我会做这样的事情: 首先,您需要包括一个新的类,而不是已有的两个类: 然后,您需要一个自定义解串器,类似于以下内容: 然后,