【问题标题】:Json Parse Error on sending a JSON string from IOS Native to Javascript (JSON.Parse) [duplicate]将JSON字符串从IOS Native发送到Javascript(JSON.Parse)时出现Json Parse错误[重复]
【发布时间】:2018-02-01 09:48:15
【问题描述】:

下面是我的 JSON 字符串,它通过在 WKWebView 上调用 evaluateJavaScript 从我的 iOS 本机代码发送到 java 脚本。但是当我运行该项目时,我收到如下错误(我正在使用 WKWebview 来显示我的 html 文件)。

JSON:

{
"config": {
    "APIUrl": "https:some Url",
    "provider": "ActiveDirectory",
    "UserDetails": {
        "UserName": "Test User",
        "FullName": "",
        "EMailAddress": ""
    },
    "formdata": [{
        "postData": "{\"args\":[{\"Name\":\"ProcessName\",\"Value\":\"offlineformios\"},{\"Name\":\"isSubmitForm\",\"Value\":true}}]}",
        "url": "https:Get Url",
        "type": "POST",
        "responseStatus": 200
    },{
        "postData": "{\"args\":[{\"Name\":\"ProcessName\",\"Value\":\"offlineformios\"},{\"Name\":\"isSubmitForm\",\"Value\":true}}]}",
        "url": "https:Get Url",
        "type": "POST",
        "responseStatus": 200
    }],
    "CDNURL": "file: Local file path",
    "queryString": {
        "PROCESS": "offlineformios"
    },
    "auth": "Basic test auth",
    "culture": "en-US"
  }
}

错误:

WKJavaScriptExceptionMessage=SyntaxError:JSON 解析错误:预期为“}”,WKJavaScriptExceptionColumnNumber=32,

我已尝试使用 jsonlint.com 检查我的 JSON 字符串是否有效,但它显示为有效。所以我找不到任何解决方案,如果有人可以帮助我解决这个问题,那将是很棒的,我期待这个解决方案!谢谢。

【问题讨论】:

  • “从我的 iOS 本地代码发送到 java 脚本” - 这究竟意味着什么?你如何“发送”它,谁在哪里以及如何接收它?
  • 我正在使用 WKWebView(evaluateJavaScript)。

标签: javascript ios objective-c json wkwebview


【解决方案1】:

可能是 PostData 的转义字符的问题

"postData": "{\"args\":[{\"Name\":\"ProcessName\",\"Value\":\"offlineformios\"},{\"Name\":\"isSubmitForm\",\"Value\":true}}]}",

【讨论】:

【解决方案2】:

235 处的意外令牌是

{\"args\":[{\"Name\":\"ProcessName\",\"Value\":\"offlineformios\"},{\"Name\":\"isSubmitForm\",\"Value\":true}}]}

因此,通过 stringify 并返回可能会有所帮助:

var JSObject = {
"config": {
    "APIUrl": "https:some Url",
    "provider": "ActiveDirectory",
    "UserDetails": {
        "UserName": "Test User",
        "FullName": "",
        "EMailAddress": ""
    },
    "formdata": [{
        "postData": "{\"args\":[{\"Name\":\"ProcessName\",\"Value\":\"offlineformios\"},{\"Name\":\"isSubmitForm\",\"Value\":true}}]}",
        "url": "https:Get Url",
        "type": "POST",
        "responseStatus": 200
    },{
        "postData": "{\"args\":[{\"Name\":\"ProcessName\",\"Value\":\"offlineformios\"},{\"Name\":\"isSubmitForm\",\"Value\":true}}]}",
        "url": "https:Get Url",
        "type": "POST",
        "responseStatus": 200
    }],
    "CDNURL": "file: Local file path",
    "queryString": {
        "PROCESS": "offlineformios"
    },
    "auth": "Basic test auth",
    "culture": "en-US"
  }
};
var JSString = JSON.stringify(JSObject)
var newObject = JSON.parse(JSString) 
console.log(newObject);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-13
    • 2012-07-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多