Я хочу получить доступ к каждому значению данных нижеприведенного JSON в Angularjs. Но я не могу найти способ. скажем, я хочу получить доступ к типу, имени, величине, единицам указанного ниже запроса. Итак, как получить к нему доступ, кто-нибудь может мне помочь в этом, пожалуйста?

{
"**openEHR-EHR-OBSERVATION.body_temperature.v1/data[at0002]/events[at0003]/data[at0001]/items[at0004]/value**":{

"type": "DV_QUANTITY",

"name": "Temperature",

"serie":[
{
"magnitude": 34,

"units": "°C",

"date": "2016-12-28 13:23:32"

}

]
},
-2
PyDevSRS 29 Дек 2016 в 09:07
Вставьте сюда чистый json.
 – 
Jigar7521
29 Дек 2016 в 09:09
И, пожалуйста, уточните, чего вы пытаетесь достичь. Уделите несколько минут, чтобы прочитать Как задать вопрос
 – 
charlietfl
29 Дек 2016 в 09:10
Ты проверил мой ответ?
 – 
Rohìt Jíndal
6 Янв 2017 в 06:41

3 ответа

Вы можете сделать что-то подобное с помощью ng-repeat

var app = angular.module('plunker', []);

app.controller('MainCtrl', function($scope) {
  $scope.name = {
"openEHR-EHR-OBSERVATION.body_temperature.v1/data[at0002]/events[at0003]/data[at0001]/items[at0004]/value":{
"type": "DV_QUANTITY",
"name": "Temperature",
"serie":[
{
"magnitude": 34,
"units": "°C",
"date": "2016-12-28 13:23:32"
},
{
"magnitude": 34,
"units": "°C",
"date": "2016-12-29 06:49:51"
},
{
"magnitude": 38,
"units": "°C",
"date": "2016-12-29 06:49:51"
}
]
},
"openEHR-EHR-OBSERVATION.blood_pressure.v1/data[at0001]/events[at0006]/data[at0003]/items[at0004]/value":{
"type": "DV_QUANTITY",
"name": "Systolic",
"serie":[
{
"magnitude": 4,
"units": "mm[Hg]",
"date": "2016-12-28 13:23:32"
},
{
"magnitude": 9,
"units": "mm[Hg]",
"date": "2016-12-29 06:49:51"
},
{
"magnitude": 7,
"units": "mm[Hg]",
"date": "2016-12-29 06:49:51"
}
]
},
"openEHR-EHR-OBSERVATION.blood_pressure.v1/data[at0001]/events[at0006]/data[at0003]/items[at0005]/value":{
"type": "DV_QUANTITY",
"name": "Diastolic",
"serie":[
{
"magnitude": 6,
"units": "mm[Hg]",
"date": "2016-12-28 13:23:32"
},
{
"magnitude": 17,
"units": "mm[Hg]",
"date": "2016-12-29 06:49:51"
},
{
"magnitude": 12,
"units": "mm[Hg]",
"date": "2016-12-29 06:49:51"
}
]
},
"openEHR-EHR-OBSERVATION.pulse.v1/data[at0002]/events[at0003]/data[at0001]/items[at0004]/value":{
"type": "DV_QUANTITY",
"name": "Rate",
"serie":[
{
"magnitude": 6,
"units": "/min",
"date": "2016-12-28 13:23:32"
},
{
"magnitude": 17,
"units": "/min",
"date": "2016-12-29 06:49:51"
},
{
"magnitude": 15,
"units": "/min",
"date": "2016-12-29 06:49:51"
}
]
},
"openEHR-EHR-OBSERVATION.pulse.v1/data[at0002]/events[at0003]/data[at0001]/items[at0005]/value":{
"type": "DV_CODED_TEXT",
"name": "Regular?",
"serie":[
{
"code": "at0006at1028",
"value": "Regular",
"date": "2016-12-28 13:23:32"
},
{
"code": "at0006at1028",
"value": "Irregular",
"date": "2016-12-29 06:49:51"
},
{
"code": "at0006at1028",
"value": "Irregular",
"date": "2016-12-29 06:49:51"
}
]
},
"openEHR-EHR-OBSERVATION.respiration.v1/data[at0001]/events[at0002]/data[at0003]/items[at0004]/value":{
"type": "DV_QUANTITY",
"name": "Rate",
"serie":[
{
"magnitude": 5,
"units": "/min",
"date": "2016-12-28 13:23:32"
},
{
"magnitude": 9,
"units": "/min",
"date": "2016-12-29 06:49:51"
},
{
"magnitude": 13,
"units": "/min",
"date": "2016-12-29 06:49:51"
}
]
},
"openEHR-EHR-OBSERVATION.respiration.v1/data[at0001]/events[at0002]/data[at0003]/items[at0005]/value":{
"type": "DV_CODED_TEXT",
"name": "Rhythm",
"serie":[
{
"code": "at0006at0007",
"value": "Regular",
"date": "2016-12-28 13:23:32"
},
{
"code": "at0006at0007",
"value": "Regular",
"date": "2016-12-29 06:49:51"
}
]
}
    
  }

});
<!DOCTYPE html>
<html ng-app="plunker">

  <head>
    <meta charset="utf-8" />
    <title>AngularJS Plunker</title>
    <script>document.write('<base href="' + document.location + '" />');</script>
    <link rel="stylesheet" href="style.css" />
    <script data-require="angular.js@1.4.x" src="https://code.angularjs.org/1.4.12/angular.js" data-semver="1.4.9"></script>
    <script src="app.js"></script>
  </head>

  <body ng-controller="MainCtrl">
<div ng-repeat="(k,v) in name">
<p>{{v.type}}</p>
<p>{{v.name}}</p>
<span ng-repeat="x in v.serie">
   magnitude: {{x.magnitude}},
   units:{{x.units}},
   date:{{x.date}}<br>
</span>
</div>
    </body>

</html>
2
Sa E Chowdary 29 Дек 2016 в 15:56
Спасибо за ответ. Он работает только для одного json. Здесь вы передаете в область видимости весь json. Итак, если у меня несколько файлов json, подобных приведенному выше, как я могу это сделать? Подскажите, пожалуйста?
 – 
PyDevSRS
29 Дек 2016 в 09:49
Вы показали мне только один json, так что я работал только с доступными ресурсами ..... если вы предоставите данные с несколькими json, я могу обновить в соответствии с этим
 – 
Sa E Chowdary
29 Дек 2016 в 09:54
Где весь json ??
 – 
Sa E Chowdary
29 Дек 2016 в 15:31
E, я даю ссылку на весь файл. Найдите ее ниже codepad.org/IIVXX3Ev
 – 
PyDevSRS
29 Дек 2016 в 15:41
Я хочу получить доступ к каждому значению узла, как ранее я сказал, например, тип, имя, величина, единицы измерения, дата каждого узла.
 – 
PyDevSRS
29 Дек 2016 в 15:48

Рабочая демонстрация:

var myApp = angular.module('myApp',[]);

myApp.controller('MyCtrl', function($scope) {
  $scope.jsonObj = {
	    "openEHR": {
		     "type": "DV_QUANTITY",
		     "name": "Temperature",
		     "serie": [{
				    "magnitude": 34,
				    "units": "°C",
				    "date": "2016-12-28 13:23:32"
			   }]
	    }
   }
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="myApp" ng-controller="MyCtrl">
  Type : {{jsonObj.openEHR.type}}<br>
  Name : {{jsonObj.openEHR.name}}<br>
  <div ng-repeat="item in jsonObj.openEHR.serie">
     Magnitude : {{item.magnitude}}
  </div>
</div>
1
Rohìt Jíndal 29 Дек 2016 в 10:48

Похоже, это результат запроса EHRServer.

Объект "serie" всегда представляет собой массив объектов, соответствующих "типу", поэтому вам нужно сначала проверить тип, чтобы знать, какие поля ожидать в объектах "serie".

Для type = DV_QUANTITY вы всегда будете получать «величину» и «единицы». «Дата» всегда будет там, когда вы «группируете по пути».

Дополнительную информацию можно найти в официальной документации https://cloudehrserver.com/learn.

Кстати, я создатель EHRServer. Если у вас есть вопросы по этому поводу, у нас есть чат поддержки сообщества https://gitter.im/CaboLabs/EHRServer

0
Pablo Pazos 17 Июн 2020 в 20:35