gpt4 book ai didi

jquery - JavaScript JSON 问题

转载 作者:行者123 更新时间:2023-12-01 03:23:07 25 4
gpt4 key购买 nike

我在获取 json 数据时遇到问题。我创建了 2 个示例。一个有效,但另一个无效。猜猜我需要哪一个?是的,就是那个不起作用的。这是代码。

我有一个输出 json 数据的 Web 服务,但由于某种原因,它在字符串中添加了额外的括号 [],并且还缺少单引号 ' '。如果您查看不起作用的代码,您会发现我手动删除了括号并添加了单引号。我有一个 div,我将字符串写入其中,它是有效的 Json 数据。如果我使用该字符串并用它手动声明一个新变量,则 jQuery.parseJSON 工作正常。但如果我解析新创建的对象,它不起作用。大家有什么想法吗?

工作正常

 $.ajax({
type: "POST",
async: false,
contentType: "application/json; charset=utf-8",
url: "StudiesWebService.asmx/EventList",
data: "{}",
dataType: "json",
success: function(msg) {
var obj = jQuery.parseJSON('{ "id": 1, "title": "Jack STuff", "start": "\/Date(1318939200000)\/", "end": "\/Date(1318950000000)\/", "allDay": false }, { "id": 2, "title": "asdfasdfasdf", "start": "\/Date(1319025600000)\/", "end": "\/Date(1319025600000)\/", "allDay": false}');
var events2 = [];
events2.push({
title: obj.title,
allDay: obj.allDay,
start: 'Tue, 18 Oct 2011 10:00:00 EST',
end: 'Tue, 18 Oct 2011 11:00:00 EST'
});

callback(events2);

},
error: function(e) { $(".external-events").html("An Error Occured" + e); }
});

不起作用:

$.ajax({
type: "POST",
async: false,
contentType: "application/json; charset=utf-8",
url: "StudiesWebService.asmx/EventList",
data: "{}",
dataType: "json",
success: function(msg) {
var myObj = new String(msg.d);

myObj = myObj.replace("[", "");
myObj = myObj.replace("]", "");
myObj = "'" + myObj + "'";

//at this point myObj output to this:
//'{"id":1,"title":"Mike STuff","start":"\/Date(1318939200000)\/","end":"\/Date(1318950000000)\/","allDay":false},{"id":2,"title":"asdfasdfasdf","start":"\/Date(1319025600000)\/","end":"\/Date(1319025600000)\/","allDay":false}'

var obj1 = jQuery.parseJSON(myObj);
alert(obj1.id); //alert doesn't come up

var events = [];

events.push({
title: obj1.title,
allDay: obj1.allDay,
start: 'Tue, 18 Oct 2011 10:00:00 EST',
end: 'Tue, 18 Oct 2011 11:00:00 EST'
});

callback(events);
},
error: function(e) { $(".external-events").html("An Error Occured" + e); }
});

最佳答案

如果删除此行

myObj = "'" + myObj + "'";

应该没问题。在上面的示例中,'' 将字符串括起来。它们实际上并不是字符串本身的一部分,因此不需要将它们添加到 myObj

此外,您的 json 周围有 [] 因为它实际上返回一个 2 元素数组 ([{obj1},{obj2}]),所以您应该要么迭代该数组,要么取出第一个元素 (obj[0])

关于jquery - JavaScript JSON 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7839110/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com