我只是提出了具有挑战性的问题。
下面是json响应,其中key是变量(GUID)
我该如何解析?我已经尝试过Google Gson,但这没有用。
{
"87329751-7493-7329-uh83-739823748596": {
"type": "work",
"status": "online",
"icon": "landline",
"number": 102,
"display_number": "+999999999"
}
}
如果您使用Gson,则为了解析您的响应,您可以创建一个代表JSON数据的自定义类,然后可以使用Map
。
请注意,a Map<String, SomeObject>
正是您的JSON所代表的,因为您有一个object
,其中包含一对string
和一些object
:
{ "someString": {...} }
因此,首先您的类包含JSON数据(以 伪代码 ):
class YourClass
String type
String status
String icon
int number
String display_number
然后使用解析您的JSON响应Map
,如下所示:
Gson gson = new Gson();
Type type = new TypeToken<Map<String, YourClass>>() {}.getType();
Map<String, YourClass> map = gson.fromJson(jsonString, type);
现在,您可以使用来访问所有值Map
,例如:
String GUID = map.keySet().get(0);
String type = map.get(GUID).getType();
注意:如果只想获取GUID值,则无需创建类YourClass
,并且可以使用相同的解析代码,但可以Object
在中使用泛型Map
,即Map<String, Object>
。
问题内容: 我正在使用Joda解析日期,并且具有不使用前导零的格式,例如: 请注意,dayOfMonth字段用空白填充左。 目前,我似乎不得不使用两种不同的格式,如果其中一种失败,则需要重新解析 是否有可以同时处理两种情况的单一格式(或API开关)?(SimpleDateFormat的答案是否相同-我不使用?) 问题答案: 我刚刚创建了一个快速程序来检查这一点- 输出是- 因此,即使source2
问题内容: 我有一个json字符串,如下所示: 我想从上面的json字符串中提取and 的值。我看了在golang网站http://play.golang.org/p/YQgzP7KPp9上给出的示例 但是我的问题是json在顶层的关键是动态的。这意味着是动态的。我创建了这样的结构: 但不确定如何提取和提取。我的代码在http://play.golang.org/p/Vbdkd3XIKc 问题答案
问题内容: 我有一个.NET项目。我正在使用JSON.NET库。我需要使用该库来解析一些JSON。我的JSON看起来像这样: 该对象实际上只是键/值对的列表。我试图弄清楚如何使用JSON.NET来1)解析此JSON和2)通过键/值对进行循环。有没有办法做到这一点?如果是这样,怎么办? 我唯一看到的是将反序列化为强类型的对象。 非常感谢! 问题答案: 您可以反序列化为 由于JObject实现,因此您
考虑到这个众所周知的C++模式: 我想知道为什么将其中一个参数声明为可变lambda会改变重写解析。 godbolt上的活生生的例子:
问题内容: 我试图用来构造一个哈希值,其中键名来自变量。像这样: 但是,这不起作用,并出现以下错误: 问题答案: 使用括号可以尽早评估:
问题内容: 有没有一种方法可以创建JSR-310格式器,该格式器能够以可变的秒分数来解析以下两个日期/时间? 要么 示例代码: 问题答案: 这样可以解决问题: JiriS的答案不正确,因为它使用,而正确的方法是使用(它也处理小数点)。差异可以在第二个系统中看到,其中错误地解析了“2015-05-07T13:20:22.000276”。 在大多数情况下,解析时比直接使用格式化程序更整洁。 使用生成器