IBM Worklight 6.1 - 如何在Worklight适配器中对JSON进行字符串化?

时间:2014-01-09 12:49:49

标签: ibm-mobilefirst worklight-adapters

我正在将IBM Worklight用于我的移动应用项目。我的问题是,如何在worklight适配器中对JSON进行字符串化?

用户名-impl.js

 function getUsername(userAlias) {
    path = "rest-rib/service/Login/login_username?userAlias=" + userAlias + "&locale=en";

    var input = {
        method : 'post',
        returnedContentType : 'json',
        path : path
    };


    return WL.Server.invokeHttp(input);
}

调用适配器时出现此错误。

{
   "errors": [
      "Runtime: Failed to parse JSON string\nError 415: Unsupported Media Type"
   ],
   "info": [
   ],
   "isSuccessful": false,
   "warnings": [
   ]
}

提前多多感谢。

3 个答案:

答案 0 :(得分:2)

我得到了答案

function getUsername(userAlias) {
        WL.Logger.debug("Entering ContactRESTService1.getUsername()");
        path = '/rest-rib/service/Login/login_username';

         var input = {
                      method : 'post',
                      returnedContentType : 'json',
                      path : path,
                      body:{
                      contentType:'application/json; charset=UTF-8',
                      content:
                          JSON.stringify({
                              "userAlias":userAlias,
                              "locale":"en"
                          })
                      }
         };
         WL.Logger.debug("Exiting ContactRESTService1.insertContact()");

         return WL.Server.invokeHttp(input);
}

答案 1 :(得分:1)

var jsonString = JSON.stringify(jsonObj);

其他方式

var jsonObj = JSON.parse(jsonString);

请注意Idan的答案。如果您正在讨论从后端解析响应 - WL会自动为您执行此操作。

答案 2 :(得分:0)

您的意思是如何对响应进行字符串化? Worklight为您做到这一点。