Javascript 转换为数组

Javascript convert to array

我需要创建一个对象数组,每个对象包含 "LicenseRefNo"、"FPPRNO" 等字段

该网站对当前 returns 以下 json:

的 C# 控制器进行了 ajax 调用
"[{\"LicenseRefNo\":\"17/00031/HMO\",\"FPPRNO\":\"AGE146\"},{\"LicenseRefNo\":\"16/00031/HMO\",\"FPPRNO\":\"AGE146\"}]"

这似乎几乎正确,但我需要将其设置为 KOGrid 的 gridOptions.data 属性。似乎 javascript 代码然后 运行 变成了一个问题,因为 KOGrid 需要是一个可观察的数组,并且要创建其中一个我需要一个 javascript 数组。

请问如何将我的字符串转换成数组?

JSON.parse(string) 应该可以解决问题

OberservableArray 带有敲除功能,您可以使用

创建一个

编辑:我创建了一个带有工作示例的 fiddle,因为发布的内容似乎已损坏

var viewModel = function() {
    var yourLoadedArray =[{"LicenseRefNo":"17/00031/HMO","FPPRNO":"AGE146"},{"LicenseRefNo":"16/00031/HMO","FPPRNO":"AGE146"}]; 
   this.obsArr = ko.observableArray(yourLoadedArray);
    this.test = "test";
};

 
ko.applyBindings(viewModel);
<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.4.2/knockout-min.js"></script>
<span data-bind="text: test"></span>
<div  data-bind="foreach: obsArr">
  <span  data-bind="text: LicenseRefNo"></span>
</div>

您发布的 JSON 示例无效,有些引号很奇怪, JSON.parse 不会直接起作用。 这是有效的 JSON 内容:

"[{\"LicenseRefNo\":\"17/00031/HMO\",\"FPPRNO\":\"AGE146\"},{\"LicenseRefNo\":\"16/00031/HMO\",\"FPPRNO\":\"AGE146\"}]"

你确定你发布的内容是你得到的吗?它甚至不是一个有效的字符串。