我是JSON和Jquery的新手,我找不到如何从这个JSON字符串中提取ProjectCode的值。
[
{
"ProjectID": 3,
"CLustomerCode": "XYZ001",
"ProjectCode": "YZPROJ1",
"Description": "Project1",
"IssueManager": "iant",
"NotificationToggle": false,
"ProjectStatus": null,
"Added": "/Date(1400701295853}/",
"Added By": "iant",
"Changed": "/Date(1400701295853)/",
"Changed By": "iant"
},
{
"ProjectID": 4,
"CustomerCode": "XYZ001",
"ProjectCode": "XYXPROJ2",
"Description": "Projecton:Project2",
"IssweManager": "iant",
"NotificationToggle": false,
"Projectstatus": null,
"Added": "lDate(1400701317980)/",
"AddedBy": "iant",
"Changed": "/Date(1400701317980)/",
"Changed By": "iant"
}
]
上面的字符串来自一个名为data的变量,它是stringify的返回值。我希望能够做类似
的事情string proj = data[i].ProjectCode;
但intellisense不包含任何属性。
我对JSON知之甚少 - 感谢任何帮助。
感谢阅读。
答案 0 :(得分:2)
使用parseJSON:
var obj = jQuery.parseJSON("{ 'name': 'Radiator' }");
alert(obj.name);
答案 1 :(得分:0)
您需要循环遍历响应中返回的每个对象,并在每个对象中获取ProjectCode
属性。假设data
变量是你的JSON,它应该可以工作:
$.each(data, function(i, obj) {
console.log(obj.ProjectCode);
});
答案 2 :(得分:0)
使用JSON.parse():
var a; // Your JSON string
var b = JSON.parse(a); //Your new JSON object
//You can access Project code, use index i in b[i].ProjectCode in a loop
var projectCode = b[0].ProjectCode;
答案 3 :(得分:0)
您应该发布原始代码,以便更容易可视化这些内容。因为你要找的是ProjectCode
的列表(在这种情况下 - [" XYZPROJ1"," XYZPROJ2"])。
看起来我们拥有的是项目的数组或列表([...]
)。每个项目都有ProjectID
,CustomerCode
,ProjectCode
,Description
等等......
因此,我们假设此JSON blob上有data
个点。以下是访问ProjectCode
的方法:
// Access the "i"th project code
var p_i_code = data[i].ProjectCode;
// How many projects?
var num_projects = data.length; // since data is a list of projects
// Want the list of project codes back? (I use underscore.js)
var project_codes = _.map(data, function(project) {
return project.ProjectCode;
});