我需要创建一个对象数组,每个对象包含“LicenseRefNo”,“FPPRNO”等字段。
该网站对C#控制器进行ajax调用,该控制器当前返回以下json:
"[{\"LicenseRefNo\":\"17/00031/HMO\",\"FPPRNO\":\"AGE146\"},{\"LicenseRefNo\":\"16/00031/HMO\",\"FPPRNO\":\"AGE146\"}]"
这似乎几乎正确但我需要将其设置为KOGrid的gridOptions.data属性。似乎javascript代码然后遇到了问题,因为KOGrid需要是一个可观察的数组,并且要创建其中一个我需要一个javascript数组。
如何将我拥有的字符串转换为数组?
答案 0 :(得分:5)
JSON.parse(string)
应该做的伎俩
答案 1 :(得分:2)
您发布的JSON示例无效,有些引用很奇怪,JSON.parse无法直接使用。 这是一个有效的JSON内容:
class InvalidCurrency < StandardError
... some logic
end
class Money
attr_accessor :amount, currency
def initialize(amount, currency)
raise InvalidCurrency unless amount > 0
@amount = amount
@currency = currency
end
end
您确定发布的内容是您得到的内容吗?它甚至不是有效的字符串。
答案 2 :(得分:1)
OberservableArray附带淘汰赛,您可以使用
创建一个编辑:我创建了一个带有工作示例的小提琴,因为发布似乎已被破坏
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>