【问题标题】:Connecting Android to ASP.NET MVC with json使用 json 将 Android 连接到 ASP.NET MVC
【发布时间】:2011-02-15 18:28:36
【问题描述】:

我有一个 asp.net MVC 2.0 应用程序。如果我想走那条路,我也有 WFC 服务。但我并不是特别喜欢用 Java 解析 xml。 (我已经有 7 年没有使用 Java 了)。这是我第一次使用eclipse,所以请向我解释一下我是android / java noob之类的东西。

经过一些研究,我想我想使用我的 MVC 站点作为一个安静的服务来在 android 和服务器之间来回传递 json。我知道如何将 Json 传递出控制器:

public ActionResult SomeActionMethod() 
{
    return Json(new {foo="bar", hello="World"});
}

如何连接到服务,然后将 json 转换为我的 android 应用程序中的对象?

【问题讨论】:

    标签: java android json asp.net-mvc-2


    【解决方案1】:

    在高层使用 HttpClient 从 RESTful 服务获取数据并使用 JSONObject 解析响应。当您将一些代码放在一起时,如果您遇到困难,我们可以为您提供更多帮助

    【讨论】:

      【解决方案2】:

      为了翻译 JSON 对象,我个人使用杰克逊解析器。在此处获取 .jar 库:http://jackson.codehaus.org/1.7.3/jackson-all-1.7.3.jar

      这是我如何使用它的一个示例(有很多不同的方式可能会让您更满意。有关更多信息,请参阅 jackson 网站):

              JsonNode userData = null;
              ObjectMapper mapper = new ObjectMapper();
              try {
                  userData = mapper.readValue(res.getEntity().getContent(), JsonNode.class);
                  String name = (String)userData.get("name").getTextValue();
              } catch (Exception e) {
                  alert(R.string.errorGeneral);
                  e.printStackTrace();
                  return;
              }
      

      至于http客户端你可以这样做

      HttpResponse res;
              DefaultHttpClient httpclient = new DefaultHttpClient();
              try{
                  HttpGet get = new HttpGet(URI.create("http://yourlink"));
                  res = httpclient.execute(get);
              }catch(Exception e){
                  e.printStackTrace();
              }
      

      【讨论】:

        【解决方案3】:

        Android 在其 SDK 中构建了 JSON 解析器 - 包是 org.json

        除此之外,您还可以使用像 Gson 这样的库,它将 json 解析包装在简单易用的 API 中。这是一个简短的教程以及 WCF 示例:Gson example/tutorial

        希望以上信息对您的上下文有用。

        除此之外,我想提一下我对您决定继续使用 Android 原生应用程序和 WCF Json 服务的拙见。如果你觉得处理 Android 开发有点麻烦 - 如果你对 .NET MVC 和 ASP.NET 很熟悉,那么你应该看看像 Sencha Touch 这样的框架 - Snecha Touch URL

        Sencha Touch 是一个 javascript 框架,可以通过您的 ASPX 页面生成 - 该框架生成的外观类似于 Android 和 iPhone 的原生外观。您可以在您的设备上试用这些示例。这将让您节省学习新语言和 API sdk 的精力 - 通过原生支持 JSON 的 JavaScript 框架灵活地使用 RESTful 服务。

        这是我的看法 - 我不了解上下文,您最好在选择平台时做出判断。

        【讨论】:

        • 不是笨重,就是新。 Java 并不新鲜,但已经有很长一段时间了。我查看了 Snecha 的东西,但无法让演示在我手机上的任何浏览器中运行,而且成本对于我们正在做的事情来说有点令人望而却步。不过感谢您的建议。
        猜你喜欢
        • 2018-01-07
        • 1970-01-01
        • 2023-01-31
        • 1970-01-01
        • 2011-10-23
        • 2010-09-27
        • 1970-01-01
        • 2017-01-31
        • 1970-01-01
        相关资源
        最近更新 更多