我有以下JSON文本。如何解析它以获得pageName
、pagePic
和post_id
等的值。?
{
"pageInfo": {
"pageName": "abc",
"pagePic": "http://example.com/content.jpg"
},
"posts": [
{
"post_id": "123456789012_123456789012",
"actor_id": "1234567890",
"picOfPersonWhoPosted": "http://example.com/photo.jpg",
"nameOfPersonWhoPosted": "Jane Doe",
"message": "Sounds cool. Can't wait to see it!",
"likesCount": "2",
"comments": [],
"timeOfPost": "1234567890"
}
]
}
30条答案
按热度按时间bgibtngc1#
Gson易于学习和实现,我们需要知道的是以下两种方法
**toJson()-将Java对象转换为JSON格式
**fromJson()-将JSON转换为Java对象
`
`
imzjd6km2#
您可以将
JsonNode
用于JSON字符串的结构化树表示。它是岩石固体jackson library的一部分,它无处不在。dwbf0jvd3#
jsoniter
(jsoniterator)是一个相对较新且简单的json库,设计简单快速。反序列化json数据所需要做的就是其中
jsonData
是json数据的字符串。查看official website了解更多信息。
8mmmxcuj4#
可以使用Apache @Model annotation创建表示JSON文件结构的Java模型类,并使用它们访问JSON树中的各种元素。与其他解决方案不同,此解决方案完全无反射工作,因此适用于不可能反射或带来大量开销的环境。
有一个sample Maven project显示使用情况。首先,它定义了结构:
然后,它使用生成的RepositoryInfo和Owner类来解析提供的输入流,并在执行此操作时提取某些信息:
就是这样!除此之外,这里还有一个实时的要点,展示了类似的示例以及异步网络通信。
yeotifhr5#
任何类型的json数组步骤都可以解决这个问题。
1.将JSON对象转换为java对象。
1.您可以使用link或任何在线工具。
1.保存为类似
Myclass.java
的java类。1.
Myclass obj = new Gson().fromJson(JsonStr, Myclass.class);
1.使用
obj
,您可以获得您的值。35g0bw716#
如果您有maven项目,则添加下面的依赖项或普通项目添加json简单jar。
编写以下java代码,将JSON字符串转换为JSON数组。
368yc8dk7#
本页上的顶部答案使用了太简单的示例,如具有一个属性的对象(例如,{name:value})。我认为这个简单但真实的例子可以帮助一些人。
这是谷歌翻译API返回的JSON:
我想使用Google的Gson检索“translatedText”属性的值,例如“Arbeit”。
两种可能的方法:
1.仅检索一个所需属性
1.从JSON创建Java对象
...
qvtsj1bj8#
首先,您需要选择一个实现库。
**用于JSON处理的Java API(JSR 353)**提供了可移植API,用于使用对象模型和流式API解析、生成、转换和查询JSON。
参考实现在这里:https://jsonp.java.net/
您可以在这里找到JSR 353的实现列表:
What are the API that does implement JSR-353 (JSON)
为了帮助您做出决定,我也找到了这篇文章:
http://blog.takipi.com/the-ultimate-json-library-json-simple-vs-gson-vs-jackson-vs-json/
如果您选择Jackson,这里有一篇关于使用Jackson:https://www.mkyong.com/java/how-to-convert-java-object-to-from-json-jackson/在JSON与Java之间进行转换的好文章
希望有帮助!
uplii1fm9#
a5g8bdjr10#
请这样做:
7xzttuei11#
我有这样的JSON:
Java类
用于将此JSON转换为Java类的代码
Maven
zbdgwd5y12#
您可以使用Jayway JsonPath。下面是一个GitHub链接,包含源代码、pom详细信息和良好的文档。
https://github.com/jayway/JsonPath
请遵循以下步骤。
步骤1:使用Maven在类路径中添加jayway JSON路径依赖项,或者下载JAR文件并手动添加。
步骤2:请将输入的JSON保存为本示例的文件。在我的例子中,我将您的JSON保存为sampleJson.txt。注意:您在页面信息和帖子之间遗漏了一个逗号。
步骤3:使用bufferedReader从上述文件中读取JSON内容,并将其保存为字符串。
步骤4:使用jayway JSON解析器解析JSON字符串。
第5步:阅读以下详细信息。
输出将为:
7uzetpgm13#
您可以使用Gson库来解析JSON字符串。
您还可以循环“posts”数组,如下所示:
g2ieeal714#
阅读以下博客文章,JSON in Java。
这篇文章有点老了,但我还是想回答你的问题。
步骤1:创建数据的POJO类。
步骤2:现在使用JSON创建一个对象。
如需进一步参考,可参考以下link。
ercv8c1e15#
有许多开源库用于将JSON内容解析为对象,或者只是读取JSON值。您的需求只是读取值并将其解析为自定义对象。因此,org.json库在您的情况下就足够了。
使用org.json库解析并创建JsonObject:
现在,使用此对象获取您的值:
您可以在这里看到完整的示例:
How to parse JSON in Java