【问题标题】:How to extract JSONObject easily from any "file.txt" or "file.json" ? [assume the file is already in the system]如何从任何“file.txt”或“file.json”中轻松提取 JSONObject? [假设文件已经在系统中]
【发布时间】:2019-02-18 20:48:26
【问题描述】:

假设我的 android 资产文件夹中有“file.txt”或“file.json”。 如何从文件中创建 JSONObject?

我终于需要这样的东西了: JSONObject json = new JSONObject(jsontxt);

我浏览了很多stackoverflow问题,没有找到答案

【问题讨论】:

  • 你可以使用gson。除非您的问题还有其他问题,否则我相信答案就在这里:stackoverflow.com/a/28392599/1978785
  • @CharlieWallace 我想要 String 到 Json(写入文件)和 Json 到 String(从文件中读取),在你给定的链接中,我不明白 Myclass 的用途。跨度>
  • 在示例中,MyClass 将是 JSON 被序列化或从中创建的 java 类。您将需要阅读github.com/google/gson/blob/master/UserGuide.md 的文档。如果您有具体问题,您可以编辑此问题或提出新问题,我们很乐意提供帮助。例如 file.json 的结构是什么?给我一个简单的例子,我可以向你展示 java 类的样子,以及如何使用 gson 将其转换为该类的 java 对象。
  • 如果你想使用 JSONObject 而不是 gson 参见:stackoverflow.com/a/5245881/1978785

标签: java android json


【解决方案1】:

您需要先获取文件内容。
您可能想为此使用FileReader

new BufferedReader(new FileReader("path-to-file"));

或者如果文件在你的类路径

final InputStream inputStream = 
           ClassLoader.getSystemClassLoader()
                      .getResourceAsStream("path-to-file");
new BufferedReader(new InputStreamReader(inputStream , "UTF-8"));

然后你可以使用组合的String来构造一个新的JSONObject


要为作为资产的文件获取InputStream,您可以利用AssetManager。伪代码

InputStream is = AssetManager#open(fileName)

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2020-03-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-04-14
  • 2017-06-05
  • 1970-01-01
  • 2020-05-17
相关资源
最近更新 更多