在对象中获取JSON表达式

时间:2017-06-16 14:32:26

标签: java json

在这个表达式中:

obj: {"created":"2017/02/09 15:57","fields":{"summary":"(30) #F24 Emarsys ==> Mise à jour du fichier de transfert / Dépriorisé en attendant PARDOT","issuetype":{"name":"Task"},"created":"589c8377576a33706397f3f4","

我认为这是一个微不足道的问题,但我不会到达这个表达方式:

obj: {"created":"2017/02/09 15:57" ...

我做:

String created2 = obj.getJSONObject("fields").getString("created");

但我明白了:

"created":"589c8377576a33706397f3f4"

我没有成功获得第一个元素"创建"。

请你建议我做这些事。

2 个答案:

答案 0 :(得分:2)

根据RFC7159, "The JavaScript Object Notation (JSON) Data Interchange Format"

  

当对象中的名称不是      独特的,接收这样一个对象的软件的行为是      不可预知的。许多实现报告姓氏/值对      只要。其他实现报告错误或无法解析      对象,以及一些实现报告所有名称/值对,      包括重复。

您将看到第一个选项,“许多实现仅报告姓氏/值对”。一般来说,最好将JSON对象中的密钥保持唯一。

答案 1 :(得分:0)

好的伙伴,我找到了解决方案:

要在字段"created"中插入我的着名日期,我会这样做:

obj.getJSONObject("fields").put("created",formatted);

最后,我得到了:

obj : {"fields":{"summary":"(30) #F24 Emarsys ==> Mise à jour du fichier de transfert / Dépriorisé en attendant PARDOT","issuetype":{"name":"Task"},"created":"2017/02/09 15:57","project":

谢谢!

啤酒