如何将包含 JSON 的 JSON NSString 从 Objective C 方法传递到 Javascript 方法

2024-02-14

我有一个要求objective C code should消耗WebService以及收到的答复JSON format必须作为参数传递给javascript进一步处理的方法。我正在使用UIWebView处理后会显示相应的结果JSON response.当我尝试将 JSON 字符串传递给Javascriptmethod.Javascript方法并不简单地接受输入。

- (void)connectionDidFinishLoading:(NSURLConnection *)connection
{
    [UIApplication sharedApplication].networkActivityIndicatorVisible = NO;
    NSString *responseString = [[NSString alloc] initWithBytes:[resultData bytes] length:[resultData length] encoding:NSUTF8StringEncoding];
    NSLog(@"%@",responseString);
    [self returnResponseToJavaScriptMethods:responseString];
}


-(void)returnResponseToJavaScriptMethods:(NSString*)theResponse{
    [viewMainWebView stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@"retrieveServerResponse('%@')",theResponse]];
}

我有什么遗漏的吗?使用相同的方法可以正确传递简单的字符串。

UPDATE: 编码responseData to UTF8StringEncoding成功了。

[theResponse stringByAddingPercentEscapesUsingEncoding: NSUTF8StringEncoding]

在将 JSON 字符串发布到 javascript 之前,您可能需要对其进行 URL 转义。

尝试改变:

-(void)returnResponseToJavaScriptMethods:(NSString*)theResponse{
  [viewMainWebView stringByEvaluatingJavaScriptFromString:
  [NSString stringWithFormat:@"retrieveServerResponse('%@')",theResponse]];
}

to

-(void)returnResponseToJavaScriptMethods:(NSString*)theResponse{
  [viewMainWebView stringByEvaluatingJavaScriptFromString:
  [NSString stringWithFormat:@"retrieveServerResponse('%@')",
 [theResponse stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]]];
} 

看看这是否对你有帮助。但请注意,有更好(或更可靠)的方法来转义字符串,例如此答案中给出的方法:如何对字符串进行 URL 编码 https://stackoverflow.com/questions/8088473/url-encode-a-nsstring

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将包含 JSON 的 JSON NSString 从 Objective C 方法传递到 Javascript 方法 的相关文章

  • 使用未声明的类型“对象”

    这太奇怪了 通常我可以理解未声明的类 但这是声称 Object 类本身未声明 NSObject 可以工作 但我的项目设置方式我需要它是一个纯 Swift 对象 我的类标题如下所示 import UIKit import Foundation
  • Angular 4 Http POST 不起作用

    我希望每个人都做得很好 我最近开始使用 Angular 4 4 我一直在尝试将数据发布到我的 api 服务器 但不幸的是它不起作用 我花了大约两天的时间 但仍然没有成功 甚至已经尝试过 6 7 篇文章角 io https angular i
  • 播放没有音频标签的音频

    是否可以在没有音频标签的情况下仅使用 javascript 播放音频 我通过 tinyMce 编辑器注入脚本 因为我无权访问网站的后端 并且它不支持客户端的音频标签 她只想要当您将鼠标悬停在图像上时发出简单的声音 我已经完成了所有设置 但是
  • 如何知道 .keyup() 是否是字符键(jQuery)

    如何知道 keyup 是否是字符键 jQuery input keyup function if key is a character such as a b A b c 5 3 2 etc not enter key or shift o
  • ES6 模块范围

    我有代码 lib js var a a export var b b main js console log a a variable is not available in a global scope import b from lib
  • 将 NSFetchedResultsController 添加到项目后出现问题

    我设置 CoreData 时没有NSFetchedResultsController一切都保存得很好 切换到之后NSFetchedResultsController 我在尝试保存图像时遇到奇怪的错误 这是我用来保存图像的代码 void sa
  • 从网页运行 ClickOnce 应用程序,无需用户操作

    我们有一个基于 Java 的 Web 应用程序以及用 C 编写的相同应用程序 如果 java 检查器发现客户端计算机上没有安装 Java 则应该运行该应用程序 这个想法是运行 C 单击一次 http en wikipedia org wik
  • 了解 Document.createElement()

    我在用着GWT及其底层DOM能力 我基本上想要实现的是 Have a div包含一些文本的元素 其中一些文本将被包围span元素 span 元素可相互拖动并提供上下文菜单 New span元素可以由最终用户动态创建 它可能是这样的 在应用程
  • 移动物体而不实际接触物体

    我是 iPhone 开发的初学者 我一直在寻找这个问题的答案 但还没有找到任何东西 我想做的是允许用户移动对象而无需实际触摸该对象 他们可以触摸屏幕上的任何位置 并且当他们移动时 对象将从原来的位置向用户的方向移动移动但不会跳到他们的触摸位
  • 如何将MathJax公式转换为img

    Mathjax 现在在我的项目中运行良好 但有一个问题 有没有办法将MathJax的公式 纯html和css 转换成img文件 我可以保存 MathJax 可以配置为生成 SVG 看http docs mathjax org en late
  • Google 地图 API - 地图未显示 - 没有错误

    我正在尝试将地图从 Google API 加载到 div 中 但是 地图未加载 并且没有输出任何错误 这是代码 google maps var geocoder map function codeAddress address geocod
  • Elm:如何从 JSON API 解码数据

    我有这个数据使用http jsonapi org http jsonapi org format data type prospect id 1 attributes provider user id 1 provider facebook
  • React Redux - 在辅助函数中访问现有存储

    我试图在反应组件之外获取存储实例 存储状态 即在单独的辅助函数中 我有我的减速器 我的动作 我在最上面的组件中创建了一个商店 configStore js import createStore from redux import gener
  • dispatch_semaphore_t 重用 - 我在这里缺少什么?

    我有一些代码 其中使用dispatch semaphore t 来表示操作完成 当信号量是成员变量时 它的行为似乎不正确 我将展示有效的示例代码和似乎无效的示例代码 implementation someClass dispatch sem
  • 获取所有ios应用程序的全局列表[重复]

    这个问题在这里已经有答案了 我想对苹果应用商店进行一些全球统计 一个瓶颈是至少获取所有当前活动应用程序的 ID 这 9 位数字 有谁知道如何获取 iOS 应用商店中当前活动应用程序的所有 id 的完整列表 更好的是特定类别的所有 ID 例如
  • 带有自定义字体的 UILabel 错误呈现

    在我的 iPhone 应用程序中 我为所有 UILabel 设置了自定义字体 更准确地说 我对 UILabel 进行了子类化 重写了一个方法 在该方法中设置了自定义字体 然后将 IB 中的所有标签设置为该自定义类 现在的问题是 所有文本都渲
  • Vue - 调度完成后调用 store getter?

    我正在使用 Laravel 5 7 Vue2 Vuex 我在调度调用完成后让 Vue 返回存储值时遇到一些困难 我的申请流程如下 我单击一个提交按钮 该按钮调用组件上的 validate Validate 分派到我的 addLease 操作
  • 从应用程序内发送电子邮件中的图像和文本

    如何从我的应用程序内通过电子邮件发送图像和文本 表格数据形式 请大家帮忙并提出建议 谢谢 void sendMailWithImage UIImage image if MFMailComposeViewController canSend
  • 如何获取所有mysql元组结果并转换为json

    我能够从表中获取单个数据 但是当我试图获取表上的所有数据时 我只得到一行 cnn execute sql rows cnn fetchall column t 0 for t in cnn description for row in ro
  • iOS 中是否需要 Google App Indexing SDK 才能使用 Google DeepLinking?

    我想用谷歌应用程序索引与我的网页和 iOS 应用程序 我支持通用链接 or 深层链接用谷歌术语 与苹果Search并相应地设置我的网页 From 谷歌文档 https developers google com app indexing i

随机推荐

  • 用于动态电子邮件的 Angular $compile 模板

    我正在尝试加载一个带有 ng repeats 的 html 模板 然后使用 compile服务对其进行编译并在电子邮件中使用编译后的 html 问题 好吧 在提问之前让我先设置术语 绑定占位符 customer name 绑定值 john
  • 在discord.js中获取用户横幅

    有没有办法使用discord js 获取discord 上的用户横幅 用户横幅是新功能 所以我不确定到目前为止是否有任何方法 我在文档中没有找到任何内容 例如 服务器横幅可用于 https cdn discordapp com banner
  • 如何在perl中不使用key来查找值是否存在于hash中?

    我有一个像这样的哈希图 my name AUS dynamic values my hash a gt x gt 1 gt US 2 gt UK y gt 1 gt AFRICA 2 gt AUS b gt
  • 包含引用类型的结构

    结构是一种值类型 因此如果我将一个结构分配给另一个结构 其字段将被复制到第二个结构中 但是 如果结构体的某些字段是引用类型 会发生什么情况 public struct MyIPEndPoint public String IP public
  • CommonJS 'require' 是否仍在使用或已弃用?

    目前Javascript采用importES6 作为导入模块的标准方式 但是 我有时会看到使用 CommonJS 的代码require代替import 我首先想知道两个是否可以一起使用 但似乎两个不能互换 相关堆栈溢出问题 https st
  • 不存在足够的页面大小 - DB2 插入

    我有一个 DB2 查询 简单插入语句 它试图插入一些 27 列 在这些列中 第 1 列是Clob问题就在那里 为了我的Clob列 有时该值甚至可能包含28K人物 在这种极端的情况下 我收到以下错误 A system temporary ta
  • 如何在运行 Windows 的 Elastic Beanstalk 环境中启用 CloudWatch Logs?

    我有一个网络服务 可以将数据输出到平面文件中 在非 EC2 原始 Windows 实例中 我们使用 EC2Config 服务将日志文件和一些性能计数器传送到 CloudWatch 请参阅此处 http blogs aws amazon co
  • Qt/QML Android 发送自定义 Intent 的最佳实践(共享 URL)

    我想知道是否有任何从 QML 或 c 发送自定义 android 意图的最佳实践技巧 我应该创建一个自定义 android 活动并使用 QAndroidJniObject 类来调用它还是有更好的方法 我的目的是创建一个从 QML 到其他 A
  • Fragment中拦截ActionBar Home按钮

    我可以成功拦截ActionBar我的主页按钮NavigationDrawerFragment 它被添加到我的MainActivity 像这样 Override public boolean onOptionsItemSelected Men
  • PHP 无需等待 sem_acquire?

    不是特定的代码问题 而是一般的代码问题 我试图在工作项目中使用信号量来限制可以同时访问某些进程的用户数量 据我了解如下 iKey ftock sSomeFileLocation sOneCharacterString Generate th
  • 变量变化检测 - Angular

    我对 Angular 相当陌生 主要使用 VueJS 我想知道如何检测变量何时更新 我正在通过 DataService 更新我的变量 我读到ngOnChanges 但我发现这只适用于输入 这几乎是我的代码 import DataServic
  • GraphicsPath 和 OutOfMemoryException

    我有以下内容 private bool IsPathVisible Rectangle detectorRectangle GraphicsPath path Pen pen path Widen pen return IsPathVisi
  • .NET 列表框中的 Optgroup

    我需要对列表框中的项目进行分组 类似于 html SELECT 中的 OPTGROUP 非常感谢任何建议 重构桑迪普的答案 http jsfiddle net kgBr9 http jsfiddle net kgBr9 HTML
  • 启用滚动视图缩放

    我已将某些数据放置在我的ScrollView 我想让它放大 缩小 它包含简单的ImageView and TextView 任何建议都会有帮助 谢谢 这是我的代码
  • 使用新的“Facebook SDK for iOS”与旧的“Facebook iPhone SDK”进行 Facebook 身份验证

    我正在努力将 Facebook 与我的 iPhone iOS 应用程序集成 我想知道我是否正确理解了登录过程的性质 使用旧的 Facebook SDK Facebook iPhone SDK 当我们需要向用户请求身份验证权限时 将显示 UI
  • 如何在 django 中编写表单的保存方法?

    我在 Django 中有两个模型 User 由 Django 预定义 和 UserProfile 两者通过外键连接 我正在创建一个允许客户编辑其用户个人资料的表单 因此 该表格将基于提到的两种模型 如何为此表单创建 save 方法 完成保存
  • 如何使用 git 同时处理多个不同版本的文件?

    我目前正在开发一个自己的神经成像工具箱 该工具箱在 MATLAB SPM8 下运行 并且我的存储库中的大多数程序文件都是 MATLAB m文件 我有不同的功能分支和一个analysis分支 我使用它来使用当前版本进行持续分析 同时我正在开发
  • Xamarin WebView 项目中的 Intellisense 错误

    Intellisense 不适用于 Xamarin Mono Android 项目 例如您的剃刀托多 https developer xamarin com guides cross platform advanced razor html
  • 将 XML 节点添加到多个父节点(具有相同名称)

    我正在尝试将 XML 节点添加到多个父节点 具有相同名称 但它只是添加到 XML 的最后一个节点 而不是全部 输入 XML
  • 如何将包含 JSON 的 JSON NSString 从 Objective C 方法传递到 Javascript 方法

    我有一个要求objective C code should消耗WebService以及收到的答复JSON format必须作为参数传递给javascript进一步处理的方法 我正在使用UIWebView处理后会显示相应的结果JSON res