我知道这是旧的,我猜你已经解决了你的问题,但我只需要做类似的事情并给出这个 HTML 和 jQuery(只是因为):
<p><strong>Raw SF SelectOption data:</strong></p>
<div id="sfData"></div>
<p><strong>SF data converted to string with an array of objects using Regex:</strong></p>
<div id="sfDataToStr"></div>
<p><strong>SF data converted to proper array of Objects:</strong></p>
<div id="strToObj"></div>
而这个JavaScript:
var sfData =
'[System.SelectOption[value="-- None --", label="-- None --", disabled="false"],' +
' System.SelectOption[value="Special 1", label="Special 1", disabled="false"],' +
' System.SelectOption[value="Special 2", label="Special 2", disabled="false"],' +
' System.SelectOption[value="Special 3", label="Special 3", disabled="false"]]';
$(function(){
$("#sfData").
append(sfData).
prepend($("<p></p>", {
"text": "TYPE: " + typeof sfData}));
var sfDataToStr = sfData.
replace(/System.SelectOption\[(\w+)=/g, "{\"$1\":").
replace(/\],\s?/g, "},").
replace(/\",\s?(\w+)=/g, "\",\"$1\":").
replace(/\]\]/g, "}]");
$("#sfDataToStr").
append(sfDataToStr).
prepend($("<p></p>", {
"text": "TYPE: " + typeof sfDataToStr}));
var strToObj = JSON.parse(sfDataToStr);
$("#strToObj").
append(JSON.stringify(strToObj)).
prepend($("<p></p>", {
"text": "TYPE: " + typeof strToObj}));
});
我设法以我乐于使用的形式获取数据。
我猜您是在呼应一组 SalesForce SelectOption 对象并希望在 JavaScript 中使用它们?我不确定 SalesForce 是否有一种本机方式来回显正确的 JSON,但这种方法适用于我的目的......希望它有所帮助。
工作 JSFiddle 链接:http: //jsfiddle.net/annoyingmouse/02668Ld4/