如何在java中解析json格式字符串

问题描述:

如何解析java中的以下json字符串。我想逐一检索。如何在java中解析json格式字符串

{"IN1005*1001302*CWH":[{"qtyreceived":"5","itemcode":"1618306"},{"qtyreceived":"0","itemcode":"1618305"},{"qtyreceived":"0","itemcode":"288242"]} 

Output can be 
head=IN1005*1001302*CWH 
qtyreceived=5 
itemcode:1618306 

请任何一个帮助我。我看到很多例子,但没有一个与我的要求相匹配。如果你发现我的问题的解决方案在另一个旧的文章,请让我知道后细节和URL

+0

你有没有试过用谷歌搜索“java解析json”,或类似的东西? – August 2014-12-04 02:53:07

+0

不可以。我的字符串在标题中没有键值,因此它们完全不同。@ Chthonic Project。请为我提供解决方案 – 2014-12-04 03:01:12

+0

您是否尝试过自己做这件事? – csmckelvey 2014-12-04 03:19:32

可能重复,我想提出一个算法: 1>为Java使用任何良好的REST API。我会建议Apache Jersey。 2>您的应用程序中将会有一个资源层,您将从其他层接收此JSON字符串。 3>您可以参考http://www.vogella.com/tutorials/REST/article.html 中的示例4>现在,您正在使用的方法将接收JSON字符串作为参数。这可以使用@XMLROOTElement标记消耗。 注意:您需要将IN1005 * 1001302 * CWH转换为IN10051001302CWH或其他有用的东西,因为它具有特殊字符,并且不能创建Java类。

getJSON(WSObject object){} 

你的java对象的一些描述。

@XmlRootElement 
WSObject{ 
    List<IN10051001302CWH> jsonObject; 
    } 

而且IN10051001302CWH将再次具有具有相同的拼写,你的JSON性能的特性另一个目标: -

@XmlRootElement 
IN10051001302CWH{ 

private Long qtyrecieved; 
private Long itemcode;  

} 

可以使用杰克逊做到这一点,看到这个Link

Here我将对象转换为json格式的答案。