【问题标题】:How can i give path of a json object in fromJson(Reader json, Class<T> classOfT)?如何在 fromJson(Reader json, Class<T> classOfT) 中给出 json 对象的路径?
【发布时间】:2011-09-14 14:13:27
【问题描述】:

我正在使用一个从 iphone 接收数据然后将其保存在数据库中的网络应用程序。 iphone发送的数据是json格式的。我想解析那个 json 对象并在我的应用程序中创建一个具有相同属性的对象。为此,我正在使用fromJson(Reader json, Class&lt;T&gt; classOfT) 函数。是否可以在我的 Web 应用程序中创建一个 json 文件,然后将该文件用作 Web 应用程序的输入,而不是一次又一次地从 iphone 应用程序发送数据。如果是,那么我应该在哪里创建该 json 文件以及我应该如何在 fromJson(Reader json, Class&lt;T&gt; classOfT) 函数中访问它。
例如:

  {
users:[{
    name: "name1",
    email: "email1",
    friends:[{
        name: "name2",
        email: "email2",
        friends:[{
            name: "name3",
            email: "email3"
        },
        {
            name: "name4",
            email: "email4"
        }]
    }]
   }]
 }

它是一个 json 对象 iphone 应用程序发送。我希望在我的 web 应用程序中硬编码这个对象,所以我不需要从 iphone 应用程序一次又一次地发送它。我希望现在它更清楚了。

提前致谢

【问题讨论】:

  • 对不起,这个问题很不清楚。您是否正在尝试模拟来自 iPhone 的 HTTP 请求来测试您的 Web 应用程序?
  • 假设从分配给您问题的标签来看,您在 GAE/J 上。在这种情况下,您应该使用 GAE 数据存储来存储您的数据,而不是文件。看看 GAE java 例子,特别是这部分:code.google.com/intl/de-DE/appengine/docs/java/gettingstarted/…
  • 谢谢斯特凡。我想我没有更好地解释我的问题。请看一下:stackoverflow.com/questions/5314813/… 在这个问题解决方案中使用这行代码:gson.fromJson(this.json, User.class);我想知道 this.json 是什么。它是一个json对象还是什么?如果它是一个硬编码的 json 对象,那么我们应该在哪里创建该对象以使用 this.json 访问它?
  • 只是一个交叉问题,您发送的 JSON 字符串是什么,是否有对应的对象?在你的情况下,你有什么叫做Users object???
  • 是的,我有一个用户对象,但我怎样才能制作 json 字符串。我们可以使用 { users:[{ name: "name1", email: "email1"}] 创建一个字符串吗?我认​​为它会出错

标签: java eclipse google-app-engine jsp getjson


【解决方案1】:

您的问题非常令人困惑。我归结为以下几点:

如何获取包含在我的 web 应用程序中的文件的Reader

如果文件包含在公共 web 内容中(您的 /WEB-INF 文件夹也在其中等等),那么您需要使用 ServletContext#getResourceAsStream()

String relativeWebPath = "/file.json";
InputStream input = getServletContext().getResourceAsStream(relativeWebPath);
Reader reader = new InputStreamReader(input, "UTF-8");
// ...

【讨论】:

    猜你喜欢
    • 2015-01-17
    • 1970-01-01
    • 1970-01-01
    • 2020-08-25
    • 2021-03-21
    • 1970-01-01
    • 2020-06-22
    • 2017-01-25
    相关资源
    最近更新 更多