【发布时间】:2016-05-02 00:22:27
【问题描述】:
我从服务器收到以下 JSON:
然后我尝试在 AJAX 调用的success 中使用 $.map 对其进行映射,如下所示:
$.ajax({
type: "GET",
url: urlGetStaticData,
success: function (data) {
self.AvailableTags(data[0].Value);
self.MeasurementUnits($.map(data[1].Value, function (item) { return ko.mapping.fromJS(item) }));
最后一行抛出如下异常:
未捕获的类型错误:无法将符号值转换为字符串
当它尝试使用 Symbol 名称映射属性时。
据我所知,javascript 最近(或至少计划)添加了一个“新的 Symbol 原始类型”。这个问题可能相关吗?有什么解决方法?非常感谢任何帮助。
【问题讨论】:
-
@MikeC 我认为这里真正的问题是,这里首先如何涉及 Symbol 实例?它不能来自
JSON.parse()结果。 -
如果
data是反序列化的JSON,它不会有任何Symbol-named 属性或Symbol值,所以我看不出你怎么会遇到这种情况。你能创建一个MCVE吗?
标签: javascript json knockout.js