Jquery中的JSON解析

Jquery中的JSON解析,jquery,ajax,json,Jquery,Ajax,Json,我有一个类似以下内容的JSON数据: {"product":["{productTitle=ABCD , productImage=/abcd.jpg, productPath=CDEF.html, productPrice=$299}","{productTitle=EFGH, productImage=xxxx.jpg, productPath=ggfft.html, productPrice=$299}"]} 我在我的JSP页面上尝试处理数据并使用它 下面是我用来解析响应的每个节点的函数

我有一个类似以下内容的JSON数据:

{"product":["{productTitle=ABCD , productImage=/abcd.jpg, productPath=CDEF.html, productPrice=$299}","{productTitle=EFGH, productImage=xxxx.jpg, productPath=ggfft.html, productPrice=$299}"]}
我在我的JSP页面上尝试处理数据并使用它

下面是我用来解析响应的每个节点的函数

success : function(data) {
                            alert("successs");
                            alert('data.product' + data.product);
                            $.each(data.product, function(index) {
                                     alert(data.product[index].productTitle);


                                 });

                         },
此处
alert('data.product'+data.product)
向我发出警报,其中包含product节点下的整个JSON

警报(data.product[index].productTitle)--此警报显示为“未定义”

我需要帮助来解析JSON并打印每个“productTitle

提前谢谢

JSON.parse(data) 
我们应该做到这一点

编辑:我发现字符串中甚至没有JSON。使用Musa的答案将其转换为JSON,然后按照我最初的建议使用
JSON.parse(data)

试试这个

   var jdata = JSON.parse(data);
   $.each(jdata.product, function(index, productdetail) {
         alert(productdetail.productTitle);
   });

data.product
是字符串数组,不是对象或JSON,您必须解析字符串才能获得数据

您可以使用正则表达式将字符串转换为JSON,然后使用JSON.parse或$.parseJSON将其转换为js对象,但这有点混乱,请参阅

您给出的json是

{
"product":[
"{productTitle=ABCD , productImage=/abcd.jpg, productPath=CDEF.html, productPrice=$299}",
"{productTitle=EFGH, productImage=xxxx.jpg, productPath=ggfft.html, productPrice=$299}"
]
}
但是,您必须将上面的内容更改为

{
"product":[
    {"productTitle":"ABCD"  , 
     "productImage":"/abcd.jpg", 
     "productPath":"CDEF.html", "productPrice":"$299"},
    ....
]
}
所以
数据。产品[0]。产品标题为“ABCD”

添加

contentType : "application/json"

发送到您的请求(在响应头中,这应该由您的Web服务器自动完成)。jQuery然后自动将Repsonse解释为JSON对象并对其进行解析。

如何实现?我是jquery的新手。很抱歉使用这些术语。@sabyasachi您能在data.product中将数据的格式更改为JSON吗?我很难更改JSON附带的格式。我们不能使用这种格式并解析它吗?@sabyasachi您可以使用regex将字符串转换为JSON,然后使用JSON.parse或$.parseJSON将其转换为js对象,但它有点混乱,请参见response.setContentType(“application/JSON;charset=utf-8”);您的Web服务器是否回答“contentType:”应用程序/json“”?
contentType : "application/json"