【问题标题】:Colon in JSON stringJSON 字符串中的冒号
【发布时间】:2010-06-25 21:03:14
【问题描述】:

我可以转义冒号:它在 JSON 字符串中吗?当前这个对象/值集

{ pn: "MT46H128M16LFCK-5 IT:A", 
  visible: false, 
  url: "/$ws$/29/1/products/ProductDetails.html?product=products/dram/MT46H128M16LFCK-5 IT" 
}

不被读取。我怀疑这是由于pn 值中的:A 造成的。我如何逃脱它或以其他方式抓住它?

【问题讨论】:

  • 您不需要转义冒号。在 JSON 中实际上只有引号需要转义。
  • 是的,我最初的回答读错了你的帖子(出于某种原因认为这是一个 jquery 选择器)......对不起。不过,URL 中的空格对我来说有点可疑。
  • @gabe,在某些情况下也是 /。
  • @Arashsoft:不,/ 在 JSON 字符串中没有特殊含义。只是/。 PHP 错误地转义了它们,但这只是 PHP 的问题。
  • @T.J.Crowder,如果我们想将 JSON 嵌入到 <script> 标签中,我们必须这样做。这就是为什么php默认这样做的原因。 stackoverflow.com/a/1580682/3328979

标签: string json escaping colon


【解决方案1】:

如果那是您的实际 JSON,那么您的问题是标识符(pn、visible、url)需要被引用(“pn”、“visible”、“url”)。

正如评论所说,冒号不需要在 JSON 字符串文字中转义。

【讨论】:

  • 嗯,除了其他值对工作得很好。例如。 { pn: "MT45W8MW16BGX-856 AT", visible: true, url: "/$ws$/29/1/products/ProductDetails.html?product=products/dram/MT45W8MW16BGX-856 AT" } 运行良好并返回结果。
  • 我将它与 autoSuggest/jQuery 结合使用。不幸的是,我们所有的开发站点都在防火墙后面,所以我无法列出实际的 url,但这里是 jquery 调用:
  • jQuery("input#search").autoSuggest(webPartItems, { selectedItemProp: "pn", searchObjProps: "pn", selectedValuesProp: "url", startText:"按零件编号或关键字搜索" , retrieveLimit:10, minChars:2, emptyText:"No Results. Type MT1...", selectionLimit:1, selectionAdded: function(elem){ var pLink = jQuery('input.as-values').attr("值"); window.location=pLink.split(',')[0]; }
猜你喜欢
  • 2015-09-09
  • 2019-11-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-11-18
  • 2013-04-28
相关资源
最近更新 更多