C# 中的转义引号以供 JavaScript 使用

2024-01-25

我有一个 ASP.Net Web 处理程序,它以 JSON 格式返回查询结果

public static String dt2JSON(DataTable dt)
{
    String s = "{\"rows\":[";
    if (dt.Rows.Count > 0)
    {
        foreach (DataRow dr in dt.Rows)
        {
            s += "{";
            for (int i = 0; i < dr.Table.Columns.Count; i++)
            {
                s += "\"" + dr.Table.Columns[i].ToString() + "\":\"" + dr[i].ToString() + "\",";
            }
            s = s.Remove(s.Length - 1, 1);
            s += "},";
        }
        s = s.Remove(s.Length - 1, 1);
    }
    s += "]}";
    return s;
}

问题是,有时返回的数据中包含引号,我需要对它们进行 javascript 转义,以便可以将其正确创建到 js 对象中。我需要一种方法来查找数据中的引号(引号并非每次都存在)并在它们前面放置一个“/”字符。

响应文本示例(错误):

{"rows":[{"id":"ABC123","length":"5""},
{"id":"DEF456","length":"1.35""},
{"id":"HIJ789","length":"36.25""}]}

我需要逃避 " 所以我的回应应该是:

{"rows":[{"id":"ABC123","length":"5\""},
{"id":"DEF456","length":"1.35\""},
{"id":"HIJ789","length":"36.25\""}]}

另外,我对 C# 还很陌生(实际上是一般编码),所以如果我的代码中的其他内容看起来很愚蠢,请告诉我。


对于.net 4.0 + 有标准HttpUtility.JavaScriptStringEncode

对于早期的西风解决方案,Lone Coder 描述的非常好

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

C# 中的转义引号以供 JavaScript 使用 的相关文章

  • 如何获取正在访问 ASP.NET 应用程序的当前用户?

    为了获取系统中当前登录的用户 我使用以下代码 string opl System Security Principal WindowsIdentity GetCurrent Name ToString 我正在开发一个 ASP NET 应用程
  • WCF RIA 服务 - 加载多个实体

    我正在寻找一种模式来解决以下问题 我认为这很常见 我正在使用 WCF RIA 服务在初始加载时将多个实体返回给客户端 我希望两个实体异步加载 以免锁定 UI 并且我想利用 RIA 服务来执行此操作 我的解决方案如下 似乎有效 这种方法会遇到
  • 为什么两个不同的 Base64 字符串的转换会返回相等的字节数组?

    我想知道为什么从 base64 字符串转换会为不同的字符串返回相同的字节数组 const string s1 dg const string s2 dq byte a1 Convert FromBase64String s1 byte a2
  • 在结构中使用 typedef 枚举并避免类型混合警告

    我正在使用 C99 我的编译器是 IAR Embedded workbench 但我认为这个问题对于其他一些编译器也有效 我有一个 typedef 枚举 其中包含一些项目 并且我向该新类型的结构添加了一个元素 typedef enum fo
  • 将 VSIX 功能添加到 C# 类库

    我有一个现有的单文件生成器 位于 C 类库中 如何将 VSIX 项目级功能添加到此项目 最终目标是编译我的类库项目并获得 VSIX 我实际上是在回答我自己的问题 这与Visual Studio 2017 中的单文件生成器更改 https s
  • 重载<<的返回值

    include
  • WCF 中 SOAP 消息的数字签名

    我在 4 0 中有一个 WCF 服务 我需要向 SOAP 响应添加数字签名 我不太确定实际上应该如何完成 我相信响应应该类似于下面的链接中显示的内容 https spaces internet2 edu display ISWG Signe
  • 如何设计以 char* 指针作为类成员变量的类?

    首先我想介绍一下我的情况 我写了一些类 将 char 指针作为私有类成员 而且这个项目有 GUI 所以当单击按钮时 某些函数可能会执行多次 这些类是设计的单班在项目中 但是其中的某些函数可以执行多次 然后我发现我的项目存在内存泄漏 所以我想
  • 控件的命名约定[重复]

    这个问题在这里已经有答案了 Microsoft 在其网站上提供了命名指南 here http msdn microsoft com en us library xzf533w0 VS 71 aspx 我还有 框架设计指南 一书 我找不到有关
  • 这些作业之间是否存在顺序点?

    以下代码中的两个赋值之间是否存在序列点 f f x 1 1 x 2 不 没有 在这种情况下 标准确实是含糊不清的 如果你想确认这一点 gcc 有这个非常酷的选项 Wsequence point在这种情况下 它会警告您该操作可能未定义
  • 使用 x509 证书签署 json 文档或字符串

    如何使用 x509 证书签署 json 文档或字符串 public static void fund string filePath C Users VIKAS Desktop Data xml Read the file XmlDocum
  • 对现有视频添加水印

    我正在寻找一种用 C 在视频上加水印的方法 就像在上面写文字一样 图片或文字标签 我该怎么做 谢谢 您可以使用 Nreco 视频转换器 代码看起来像 NReco VideoConverter FFMpegConverter wrap new
  • cmake 将标头包含到每个源文件中

    其实我有一个简单的问题 但找不到答案 也许你可以给我指一个副本 所以 问题是 是否可以告诉 cmake 指示编译器在每个源文件的开头自动包含一些头文件 这样就不需要放置 include foo h 了 谢谢 CMake 没有针对此特定用例的
  • 基于 OpenCV 边缘的物体检测 C++

    我有一个应用程序 我必须检测场景中某些项目的存在 这些项目可以旋转并稍微缩放 更大或更小 我尝试过使用关键点检测器 但它们不够快且不够准确 因此 我决定首先使用 Canny 或更快的边缘检测算法 检测模板和搜索区域中的边缘 然后匹配边缘以查
  • 混合 ExecutionContext.SuppressFlow 和任务时 AsyncLocal.Value 出现意外值

    在应用程序中 由于 AsyncLocal 的错误 意外值 我遇到了奇怪的行为 尽管我抑制了执行上下文的流程 但 AsyncLocal Value 属性有时不会在新生成的任务的执行范围内重置 下面我创建了一个最小的可重现示例来演示该问题 pr
  • 如何在文本框中插入图像

    有没有办法在文本框中插入图像 我正在开发一个聊天应用程序 我想用图标图像更改值 等 但我找不到如何在文本框中插入图像 Thanks 如果您使用 RichTextBox 进行聊天 请查看Paste http msdn microsoft co
  • C++ 标准是否指定了编译器的 STL 实现细节?

    在写答案时this https stackoverflow com questions 30909296 can you put a pimpl class inside a vector我遇到了一个有趣的情况 这个问题演示了这样一种情况
  • 如何防止用户控件表单在 C# 中处理键盘输入(箭头键)

    我的用户控件包含其他可以选择的控件 我想实现使用箭头键导航子控件的方法 问题是家长控制拦截箭头键并使用它来滚动其视图什么是我想避免的事情 我想自己解决控制内容的导航问题 我如何控制由箭头键引起的标准行为 提前致谢 MTH 这通常是通过重写
  • 使用.NET技术录制屏幕视频[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 有没有一种方法可以使用 NET 技术来录制屏幕 无论是桌面还是窗口 我的目标是免费的 我喜欢小型 低
  • 对来自流读取器的过滤数据执行小计

    编辑问题未得到解答 我有一个基于 1 个标准的过滤输出 前 3 个数字是 110 210 或 310 给出 3 个不同的组 从流阅读器控制台 问题已编辑 因为第一个答案是我给出的具体示例的字面解决方案 我使用的实际字符串长度为 450 个

随机推荐

  • java中使用数字作为包名

    我已经检查了以下帖子 https docs oracle com javase specs jls se7 html jls 6 html jls 6 2 https docs oracle com javase specs jls se7
  • 在 j2me 中读取收件箱中的短信

    我如何阅读收件箱中的短信 我想阅读短信 没有短信等 我可以在 j2me 中做吗 如果可以的话怎么做 我想在诺基亚和索尼上运行该应用程序 我相信您无法直接从收件箱读取短信 但是 您可以运行 j2me 应用程序并等待传入 的短信 换句话说 如果
  • Firebase Auth:手动检测当前用户最近是否经过身份验证

    默认情况下 如果用户 X 年前登录 Firebase 将要求他 她通过以下方式重新进行身份验证reauthenticateWithCredential以完成该动作 如果用户在继续下一步操作之前已经符合重新身份验证的资格 是否可以查询 Fir
  • 尝试避免使用 sapply 进行 for 循环(对于 gsub)

    尽量避免使用for使用以下代码循环sapply 如果可能的话 带循环的解决方案对我来说非常适合 我只是想学习更多 R 并探索尽可能多的方法 目标 有一个向量i和两个向量sf 搜索 和rp 代替 对于每个i需要循环sf并替换为rp哪里匹配 i
  • 带有 Ignited-Datatables 库的服务器端 DataTables

    如何使用 Ignited Datatables 库来服务器端 DataTables 我的应用程序使用 CodeIgniter 我使用的库是Ignited datatables 库 https github com IgnitedDatata
  • SOLR计数多值字段查询

    是否可以创建一个 solr 查询 其中仅返回在多值字段中具有多个条目的文档 例如 docs id 1 myfield hello word hello stackoverflow id 2 myfield hello word 我天真的示例
  • 将数值向量中的 NA 替换为从邻居计算出的值

    我正在尝试写一个替换 函数将给定数值向量中的每个缺失值替换为算术平均值 of 它的前面和后面的元素 例如 如果c 5 NA 6 2 3 5 6 4 NA 2 NA 5 给出 那么结果应该是c 5 5 5 6 2 3 5 6 4 3 2 3
  • 如何在 printf 函数中使用宏

    所以我在我的头文件中定义了这个宏和其他一些宏 define COL1WIDTH 16 我想用它来打印这样的东西 word 25 Dir1 FileB 129 Sat Jan 1 00 00 02 2011 12 1 x4 2 x2 3 x2
  • ASP.NET 中的 jQuery ajax 带有 customErrors mode="On"

    知道如何检索服务器端在执行时抛出的原始异常使用 jQuery 调用 ajax 并使用 自定义错误模式 开 在 web config 中 如果 mode Off 我可以使用此函数获取错误 error function xhr status e
  • C++ 中的重定向

    include
  • TDD 如何应用于基于 Django 类的通用视图?

    由于 Django 中基于类的通用视图涉及框架的一些工作 我发现很难以 TDD 风格使用它们 现在 我使用 TestClient 从 http 模拟堆栈访问视图 但我更愿意在使用 TestClient 进行 功能 测试之前正确地对特定方法
  • 何时在 Linq 中使用 Cast() 和 OfType()

    我知道有两种将类型转换为IEnumerable从一个Arraylist在 Linq 中并想知道在什么情况下使用它们 e g IEnumerable
  • Cassandra/Spark 显示大表的条目计数不正确

    我正在尝试使用 Spark 处理大型 cassandra 表 约 4 02 亿条目和 84 列 但得到的结果不一致 最初的要求是将一些列从该表复制到另一个表 复制数据后 我注意到新表中的一些条目丢失了 为了验证我是否对大型源表进行了计数 但
  • 安卓框架。它是什么? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我对 Android 框架有几个问题 有人可以回答吗 他们 Android 框架有什么作用 做 它的工作是什么 这些经理是什么 活动经
  • 在 Perl CGI 中分段 AJAX 响应?

    perl cgi 脚本是否可以将其 AJAX 响应分段为多个单独的 HTTP 响应 假设我有这段代码 xmlhttp new XMLHttpRequest xmlhttp onreadystatechange function if xml
  • 如何通过 StructureMap 映射使用 IRepository 约定

    StructureMap 中是否有一种方法可以用一行或约定进行这种重复映射 For
  • 为什么 Dapper 的 .Execute(...) 返回一个 int ?

    任何人都知道为什么 Dapper 返回一个 int Execute 我在任何地方都找不到这个记录 该整数表示受查询影响的行数 它返回一个整数 以便您知道查询是否有效 如果返回零并且您期望某些内容发生变化 那么您就知道存在问题
  • ReadTheDocs 和 autodoc 在构建期间无法找到我的包

    我一直在尝试在 readthedocs 上为我的第一个 python 包 QutiePy 构建文档 在本地构建文档工作正常 但是当我尝试在 readthedocs 上构建时 autodoc 无法填充我的部分并给出以下警告 WARNING a
  • 创建 Node.js Express 应用程序时出错。找不到

    我正在尝试在 WebStorm 中创建一个 node js 项目 你能告诉我我在这里缺少什么吗 得到了解决方案https intellij support jetbrains com hc en us community posts 115
  • C# 中的转义引号以供 JavaScript 使用

    我有一个 ASP Net Web 处理程序 它以 JSON 格式返回查询结果 public static String dt2JSON DataTable dt String s rows if dt Rows Count gt 0 for