gpt4 book ai didi

java - 找不到合适的方法来解析(java.io.InputStream)

转载 作者:太空宇宙 更新时间:2023-11-04 10:03:10 25 4
gpt4 key购买 nike

我用 Java 写的:

import java.io.FileReader;
import java.util.Iterator;

import org.json.simple.JSONArray;
import org.json.simple.JSONObject;
import org.json.simple.parser.JSONParser;

public class Example1 {
public static String readReddit()throws IOException, URISyntaxException {

JSONParser parser = new JSONParser();
try {
Object obj = parser.parse(Example1.class.getClassLoader().getResourceAsStream("data/reddit/redditdump.json"));

JSONObject jsonObject = (JSONObject) obj;
String kind = (String) jsonObject.get("kind");
JSONArray data = (JSONArray) jsonObject.get("data");

System.out.println("Kind:" + kind);
System.out.println("Data:");
Iterator<String> iterator = data.iterator();
while (iterator.hasNext()) {
System.out.println(iterator.next());
}
}catch (Exception e){
e.printStackTrace();
}
return null;
}

在 Maven 中使用这些依赖项:

<dependency>
<groupId>com.googlecode.json-simple</groupId>
<artifactId>json-simple</artifactId>
<version>1.1.1</version>
</dependency>

我想读取这个 JSON 文件:

[{
"kind": "Listing",
"data": {
"modhash": "",
"children": [{
"kind": "t3",
"data": {
"contest_mode": false,
"banned_by": null,
"media_embed": {

},
"subreddit": "PoliticalDiscussion",
"selftext_html": "&lt;!-- SC_OFF --&gt;&lt;div class=\"md\"&gt;&lt;p&gt;The first Presidential Debate for the 2016 Elections will air tonight at 9:00PM Eastern at Hofstra University in New York. The debate will feature Donald Trump and Hillary Clinton in their first head-to-head televised debate. The debate will be 90 minutes and commercial free.&lt;/p&gt;\n\n&lt;p&gt;The Debate is hosted by the Commission on Presidential Debates and will be moderated by NBC’s Lester Holt. Hillary Clinton will &lt;a href=\"https://twitter.com/CBSNews/status/780506360257675264\"&gt;receive the first question&lt;/a&gt;.&lt;/p&gt;\n\n&lt;hr/&gt;\n\n&lt;h2&gt;&lt;strong&gt;Where to Watch&lt;/strong&gt;&lt;/h2&gt;\n\n&lt;p&gt;Unlike the primaries, these debates are hosted by the Commission on Presidential Debates and the broadcast is not restricted to one network, making for a wide range of viewing options. Here are just a few of the ways you can watch:&lt;/p&gt;\n\n&lt;p&gt;&lt;strong&gt;Television:&lt;/strong&gt;&lt;/p&gt;\n\n&lt;p&gt;The event will be broadcast on most major TV channels, including ABC, CBS, CNN, C-SPAN, Fox News, MSNBC, and Univision.&lt;/p&gt;\n\n&lt;p&gt;&lt;strong&gt;Live Streams:&lt;/strong&gt;&lt;/p&gt;\n\n&lt;p&gt;&lt;a href=\"https://www.c-span.org/2016presidentialDebates/\"&gt;C-SPAN&lt;/a&gt;&lt;/p&gt;\n\n&lt;p&gt;&lt;a href=\"https://www.youtube.com/watch?v=L6QElWIKfDk\"&gt;Washington Post (YouTube)&lt;/a&gt;&lt;/p&gt;\n\n&lt;p&gt;&lt;a href=\"https://www.youtube.com/watch?v=EuHuzhzb1nc\"&gt;PBS (YouTube)&lt;/a&gt;&lt;/p&gt;\n\n&lt;p&gt;&lt;a href=\"https://www.youtube.com/watch?v=855Am6ovK7s\"&gt;NBC (YouTube)&lt;/a&gt;&lt;/p&gt;\n\n&lt;p&gt;&lt;a href=\"https://twitter.com/i/live/778347749217406976\"&gt;Bloomberg Politics (Twitter with real-time fact checking)&lt;/a&gt;&lt;/p&gt;\n\n&lt;p&gt;&lt;a href=\"https://www.facebook.com/ABCNews/\"&gt;ABC (Facebook)&lt;/a&gt;&lt;/p&gt;\n\n&lt;hr/&gt;\n\n&lt;h2&gt;&lt;strong&gt;Live Discussion&lt;/strong&gt;&lt;/h2&gt;\n\n&lt;p&gt;If you&amp;#39;d like to participate in real-time discussion, we encourage you to head over to &lt;a href=\"https://discord.gg/caAhhCv\"&gt;our Discord server&lt;/a&gt; and check out our &lt;a href=\"https://discordapp.com/channels/154635757615710208/229738984618721280\"&gt;Presidential Debate Channel&lt;/a&gt;. &lt;/p&gt;\n\n&lt;hr/&gt;\n\n&lt;p&gt;Please use this thread to discuss your tonight&amp;#39;s debate as it happens. All subreddit rules still apply in live threads and in Discord, so please remember to remain civil and try to keep discussion quality high. &lt;strong&gt;This thread will be closely watched, and any rule violations are certain to be met with heavy-handed moderation. Be nice!&lt;/strong&gt;&lt;/p&gt;\n&lt;/div&gt;&lt;!-- SC_ON --&gt;",
"selftext": "The first Presidential Debate for the 2016 Elections will air tonight at 9:00PM Eastern at Hofstra University in New York. The debate will feature Donald Trump and Hillary Clinton in their first head-to-head televised debate. The debate will be 90 minutes and commercial free.\n\nThe Debate is hosted by the Commission on Presidential Debates and will be moderated by NBC’s Lester Holt. Hillary Clinton will [receive the first question](https://twitter.com/CBSNews/status/780506360257675264).\n\n-----\n\n**Where to Watch**\n-\n\nUnlike the primaries, these debates are hosted by the Commission on Presidential Debates and the broadcast is not restricted to one network, making for a wide range of viewing options. Here are just a few of the ways you can watch:\n\n**Television:**\n\nThe event will be broadcast on most major TV channels, including ABC, CBS, CNN, C-SPAN, Fox News, MSNBC, and Univision.\n\n**Live Streams:**\n\n[C-SPAN](https://www.c-span.org/2016presidentialDebates/)\n\n[Washington Post (YouTube)](https://www.youtube.com/watch?v=L6QElWIKfDk)\n\n[PBS (YouTube)](https://www.youtube.com/watch?v=EuHuzhzb1nc)\n\n[NBC (YouTube)](https://www.youtube.com/watch?v=855Am6ovK7s)\n\n[Bloomberg Politics (Twitter with real-time fact checking)](https://twitter.com/i/live/778347749217406976)\n\n[ABC (Facebook)](https://www.facebook.com/ABCNews/)\n\n------\n\n**Live Discussion**\n-\n\nIf you'd like to participate in real-time discussion, we encourage you to head over to [our Discord server](https://discord.gg/caAhhCv) and check out our [Presidential Debate Channel](https://discordapp.com/channels/154635757615710208/229738984618721280). \n\n----------\n\nPlease use this thread to discuss your tonight's debate as it happens. All subreddit rules still apply in live threads and in Discord, so please remember to remain civil and try to keep discussion quality high. **This thread will be closely watched, and any rule violations are certain to be met with heavy-handed moderation. Be nice!**",
"likes": null,
"suggested_sort": "new",
"user_reports": [],
"secure_media": null,
"saved": false,
"id": "54nuut",
"gilded": 0,
"secure_media_embed": {
},
"clicked": false,
"report_reasons": null,
"author": "BagOnuts",
"media": null,
"score": 550,
"approved_by": null,
"over_18": false,
"domain": "self.PoliticalDiscussion",
"hidden": false,
"num_comments": 8576,
"thumbnail": "",
"subreddit_id": "t5_2sfmf",
"edited": 1474937730,
"link_flair_css_class": "green2",
"author_flair_css_class": "",
"downs": 0,
"archived": false,
"removal_reason": null,
"stickied": false,
"is_self": true,
"hide_score": false,
"permalink": "/r/PoliticalDiscussion/comments/54nuut/debate_megathread_live_discussion_thread_for_the/",
"locked": false,
"name": "t3_54nuut",
"created": 1474964458,
"url": "https://www.reddit.com/r/PoliticalDiscussion/comments/54nuut/debate_megathread_live_discussion_thread_for_the/",
"author_flair_text": "Extra Nutty",
"quarantine": false,
"title": "[Debate Megathread] LIVE Discussion Thread for the First Presidential Debate of 2016",
"created_utc": 1474935658,
"link_flair_text": "Presidential Debate",
"ups": 550,
"upvote_ratio": 0.83,
"mod_reports": [],
"visited": false,
"num_reports": null,
"distinguished": null
}
}],
"after": null,
"before": null
}
},
{
"kind": "Listing",
"data": {
"modhash": "",
"children": [{
..

但我收到错误:

Error:(132, 32) java: no suitable method found for parse(java.io.InputStream)

method org.json.simple.parser.JSONParser.parse(java.lang.String) is not applicable

(argument mismatch; java.io.InputStream cannot be converted to java.lang.String)

method org.json.simple.parser.JSONParser.parse(java.io.Reader) is not applicable

(argument mismatch; java.io.InputStream cannot be converted to java.io.Reader)

没找到问题出在哪里。另外,我不仅仅想打印得到的这些结果,而是保存它们并使用。我对 Java 没有太多经验。任何帮助将不胜感激。也许我没有导入任何依赖项?

最佳答案

您可以尝试一下下面的代码吗?

ClassLoader classLoader = Example1.class.getClassLoader();
File file = new File(classLoader.getResource("data/reddit/redditdump.json").getFile());

Object obj = parser.parse(new FileReader(file));

关于java - 找不到合适的方法来解析(java.io.InputStream),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53250905/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com