Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何访问下面的json值_Javascript_Json_Reactjs - Fatal编程技术网

Javascript 如何访问下面的json值

Javascript 如何访问下面的json值,javascript,json,reactjs,Javascript,Json,Reactjs,您好,我正在尝试访问值部门ID,但由于值不存在而出现错误 当我尝试访问部门ID时,我可以得到大括号内的值,我得到了错误 下面是我的地图功能 r.PrimarySearchResults.map((value) => { console.log(value)} ) 我可以获取value.Rank但不能获取value.DepartmentId 下面是我得到的JSON对象。这是我展开对象的时候 {Rank: "16.9111518859863", DocId: &quo

您好,我正在尝试访问值
部门ID
,但由于值不存在而出现错误

当我尝试访问
部门ID
时,我可以得到大括号内的值,我得到了错误

下面是我的地图功能

 r.PrimarySearchResults.map((value) => {
console.log(value)}
)
我可以获取
value.Rank
但不能获取
value.DepartmentId

下面是我得到的JSON对象。这是我展开对象的时候

{Rank: "16.9111518859863", DocId: 
"17598046715456", Title: "HubSite", SPSiteUrl: "https://amoghtelkar.sharepoint.com/sites/hubsite2", 
WebTemplate: "SITEPAGEPUBLISHING", …}
Culture: "en-US"
DepartmentId: "{3d408bfe-9172-4df5-b36e-863c066e9ada}"
DocId: "17598046715456"
PartitionId: "51ddbb65-42e8-4906-82e4-8d97c6626ef7"
Rank: "16.9111518859863"
RenderTemplateId: "~sitecollection/_catalogs/masterpage/Display Templates/Search/Item_Default.js"
ResultTypeId: "0"
SPSiteUrl: "https://amoghtelkar.sharepoint.com/sites/hubsite2"
SiteId: "3d408bfe-9172-4df5-b36e-863c066e9ada"
Title: "HubSite"
UniqueId: "{F08C7BCE-C886-4A09-AA22-D66879DD5252}"
UrlZone: "0"
WebId: "edec632a-5671-49bd-a7fe-27a6e851f09a"
WebTemplate: "SITEPAGEPUBLISHING"
__proto__: Object
找到下图

尝试排列JSON对象,似乎JSON中不包含DepartmentId

{
    Rank: "16.9111518859863", 
    DocId: "17598046715456", 
    Title: "HubSite", 
    SPSiteUrl: "https://amoghtelkar.sharepoint.com/sites/hubsite2", 
    WebTemplate: "SITEPAGEPUBLISHING", }

Culture: "en-US" DepartmentId: "{3d408bfe-9172-4df5-b36e-863c066e9ada}" DocId: "17598046715456" PartitionId: "51ddbb65-42e8-4906-82e4-8d97c6626ef7" Rank: "16.9111518859863" RenderTemplateId: "~sitecollection/_catalogs/masterpage/Display Templates/Search/Item_Default.js" ResultTypeId: "0" SPSiteUrl: "https://amoghtelkar.sharepoint.com/sites/hubsite2" SiteId: "3d408bfe-9172-4df5-b36e-863c066e9ada" Title: "HubSite" UniqueId: "{F08C7BCE-C886-4A09-AA22-D66879DD5252}" UrlZone: "0" WebId: "edec632a-5671-49bd-a7fe-27a6e851f09a" WebTemplate: "SITEPAGEPUBLISHING"
试试这个:

var value=JSON.parse(value);
console.log(value.DepartmentId)

如上所述,返回的完整JSON对象应该能够解析为一个对象,然后获取

如果您的响应对象是
PrimarySearchResults
,您应该能够执行以下操作:

r.PrimarySearchResults.DepartmentId;
// should return {3d408bfe-9172-4df5-b36e-863c066e9ada}

您能告诉我您正在获取的错误吗?类型“SearchResult”上不存在属性“DepartmentId”,因为我可以在我的系统中检查我获取的值如下“{3d408bfe-9172-4df5-b36e-863c066e9ada}”
DepartmentId
位于上述对象的对象内,因此无需在此执行map(),为什么不试试
r.primarysearchsresults.DepartmentId
。请尝试让我知道结果您的部门ID是一个字符串,因此即使它有大括号,也没有任何区别,它仍然是一个字符串。因此,如果您可以console.log(value.rank);获得“16.9111518859863”,您应该能够控制台.log(value.departmentId)并获得“{3d408bfe-9172-4df5-b36e-863c066e9ada}”这是一个字符串吗?这是一个错误的解决方案,我不知道它是如何升级的,请检查附加的图像