2010-06-25 162 views
3

我可以转义一个冒号:那是在JSON字符串中吗?目前这个对象/值集合JSON字符串中的冒号

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

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

+4

你不需要冒号冒号。实际上只有引号需要在JSON中转义。 – Gabe 2010-06-25 21:06:38

+0

是的,我读了你的帖子错误与我的初步答案(认为这是一个jQuery选择器出于某种原因)...对不起。 虽然URL中的空间有点令人怀疑。 – Andir 2010-06-25 21:11:14

+0

@gabe,同样/在某些情况下。 – Arashsoft 2016-08-19 19:41:48

回答

3

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

正如注释所述,冒号不需要在JSON字符串文字中转义。

+0

嗯,除了其他值对完美地工作。 E.g. {pn:“MT45W8MW16BGX-856 AT”,visible:true,url:“/$ws$/29/1/products/ProductDetails.html?product=products/dram/MT45W8MW16BGX-856 AT”} Works well并返回结果。 – 2010-06-25 21:23:41

+0

我将它与autoSuggest/jQuery结合使用。不幸的是,我们所有的开发网站都在防火墙后面,所以我不能列出实际的URL,但这里是jQuery的调用: – 2010-06-25 21:24:00

+0

jQuery(“input#search”)。autoSuggest(webPartItems,{ selectedItemProp:“pn”, searchObjProps: PN”, selectedValuesProp: “URL”, startText: “通过产品型号或关键字搜索”:10, minChars:2, emptyText:, retrieveLimit “没有结果类型MT1 ......”, selectionLimit:1 , selectionAdded:function(elem){var_link = jQuery('input.as-values').attr(“value”); window.location = pLink.split(',')[0]; } – 2010-06-25 21:25:03