在客户端将json字符串转换为json?

问题描述:

在我的javascript代码,我从CS文件在客户端将json字符串转换为json?

var tmpString="<%=resultset2%>";  

越来越JSON字符串在CS中,我连接字符串来构建JSON字符串。这里是JSON字符串返回一个字符串的问题,它有“的程度。

"[{id:'1',name:'Aik'},{id:'2',name:'Aik or Aik'}]" 

因为”在开头和结尾的javascript代码把它作为一个字符串。请引导我如何理清这个问题。

感谢

+0

http://*.com/questions/45015/safely-turning-a-json-string-into-an-object – 2011-04-05 16:21:55

更改此:

var tmpString="<%=resultset2%>";

到:

var tmpString=<%=resultset2%>;

这从一个服务器页面不是JSON,你只是编写JavaScript 。问题是你正在创建无效的JavaScript语法,你只需要删除引号。

这些引号并非来自resultset2,而是来自您的标记。

+0

谢谢jamietre,它真的帮助。 – user576510 2011-04-05 16:50:20

  1. 修复JSON,it has errors(属性名必须是字符串(因而报价),只有"是在JSON字符串报价可以接受)。 JSON是JavaScript的一个子集,你不能在JSON中使用JS的所有语法。作为一个经验法则,如果你连接字符串来产生数据格式,那么你做错了。 http://json.org/列出了许多可用于构建JSON的C#库。
  2. 使用json2.js
+0

谢谢@David,有可能在客户端做?如果我尝试在服务器端做这件事,它会需要做很多工作才能做出改变。 – user576510 2011-04-05 16:33:21

+0

如果你真的真的想要一起支持将字符串作为对象来处理,而不是使用JSON ...那么只需转储JS对象而不是将其作为字符串:var tmpString = ; – Quentin 2011-04-05 16:34:39

+1

我正要为“为什么在所有情况下使用JSON的效果添加另一个答案,如果您只是从服务器页面呈现JavaScript?”我意识到,他没有使用JSON。他只是试图呈现JavaScript对象语法。这里没有数据传输,它只是编写javascript的服务器代码,所以在使用JSON和添加其他图层方面没有任何意义。 – 2011-04-05 16:35:27