得到额外的" \"提交时使用JSON对象

时间:2011-12-07 03:09:43

标签: jquery json

Parameters: {"celebration"=>{"friend_details"=>"[{\"name\":\"Mitchell Gould\",\"fbuid\":\"751640040\",\"picUrl\":\"http://graph.facebook.com/751640040/picture\",\"birthday\":\"10/07/1967\"},{\"name\":\"Anthony Rosenfeld\",\"fbuid\":\"692130342\",\"picUrl\":\"http://graph.facebook.com/692130342/picture\",\"birthday\":\"12/09\"}]", "manager_details"=>"[{\"name\":\"Mitchell Gould\",\"fbuid\":\"751640040\",\"picUrl\":\"http://graph.facebook.com/751640040/picture\",\"birthday\":\"10/07/1967\"}]"}}

我似乎正在使用提交的值获取这些“\”。如何阻止它们被添加到我的对象中。

以下是我制作对象的方法:

json_details.push({name: fb.name, fbuid: fb.id, picUrl: pic_url, birthday: fb.birthday });
var friend_details = JSON.stringify(json_details);

然后我将表单作为隐藏字段传递给它:

html += "<input type='hidden' id='manager' value='"+manager_details +"'  name='celebration[manager_details]' />"

2 个答案:

答案 0 :(得分:0)

我怀疑问题在于你“串”化“细节”,然后在你的请求字符串中进一步嵌入。当你这样做时,“stringified”JSON将被视为一个简单的字符串,你看到的周围引号将被添加,并且其中的任何引号都将被转义。

答案 1 :(得分:0)

你是双重json-ifying你的数据。

您没有显示从friend_detailsmanager_details的方式,但是根据您展示的内容,我要说您正在创建一个manager_details对象{{1}键指向json-ified字符串,然后您将整个friend_details对象转换为JSON。至少从您展示的内容中,您只想将manager_details对象分配到json_details中的friend_details键。