PHP를 통해 다소 큰 JSON 파일에서 데이터 값을 추출하려고합니다. 이 파일은 USGS 서버에서 가져온 것으로, 필자는 단지 메타 데이터 전체가 아닌 데이터 값을 얻으려는 것이 아니라는 일련의 정보를 포함하고 있습니다. 필자는이 형식의 JSON 파일을 처리 할 필요가 없었습니다.바쁜 JSON 파일을 PHP로 구문 분석하기
{
"name": "ns1:timeSeriesResponseType",
"declaredType": "org.cuahsi.waterml.TimeSeriesResponseType",
"scope": "javax.xml.bind.JAXBElement$GlobalScope",
"value": {
"queryInfo": {
"queryURL": "http://waterservices.usgs.gov/nwis/iv/format=json&sites=01129500&startDT=2017-11-05T18:00-0500&endDT=2017-11-06T03:00-0500¶meterCd=00060&siteStatus=all",
"criteria": {
"locationParam": "[ALL:01129500]",
"variableParam": "[00060]",
"timeParam": {
"beginDateTime": "2017-11-05T23:00:00.000",
"endDateTime": "2017-11-06T08:00:00.000"
},
"parameter": []
},
"note": [
{
"value": "[ALL:01129500]",
"title": "filter:sites"
},
{
"value": "[mode=RANGE, modifiedSince=null] interval={INTERVAL[2017-11-05T23:00:00.000Z/2017-11-06T08:00:00.000Z]}",
"title": "filter:timeRange"
},
{
"value": "methodIds=[ALL]",
"title": "filter:methodId"
},
{
"value": "2017-11-06T21:03:28.078Z",
"title": "requestDT"
},
{
"value": "efbacfd0-c335-11e7-9d73-6cae8b663fb6",
"title": "requestId"
},
{
"value": "Provisional data are subject to revision. Go to http://waterdata.usgs.gov/nwis/help/?provisional for more information.",
"title": "disclaimer"
},
{
"value": "vaas01",
"title": "server"
}
]
},
"timeSeries": [
{
"sourceInfo": {
"siteName": "CONNECTICUT RIVER AT NORTH STRATFORD, NH",
"siteCode": [
{
"value": "01129500",
"network": "NWIS",
"agencyCode": "USGS"
}
],
"timeZoneInfo": {
"defaultTimeZone": {
"zoneOffset": "-05:00",
"zoneAbbreviation": "EST"
},
"daylightSavingsTimeZone": {
"zoneOffset": "-04:00",
"zoneAbbreviation": "EDT"
},
"siteUsesDaylightSavingsTime": true
},
"geoLocation": {
"geogLocation": {
"srs": "EPSG:4326",
"latitude": 44.74977166,
"longitude": -71.63120018
},
"localSiteXY": []
},
"note": [],
"siteType": [],
"siteProperty": [
{
"value": "ST",
"name": "siteTypeCd"
},
{
"value": "01080101",
"name": "hucCd"
},
{
"value": "33",
"name": "stateCd"
},
{
"value": "33007",
"name": "countyCd"
}
]
},
"variable": {
"variableCode": [
{
"value": "00060",
"network": "NWIS",
"vocabulary": "NWIS:UnitValues",
"variableID": 45807197,
"default": true
}
],
"variableName": "Streamflow, ft³/s",
"variableDescription": "Discharge, cubic feet per second",
"valueType": "Derived Value",
"unit": {
"unitCode": "ft3/s"
},
"options": {
"option": [
{
"name": "Statistic",
"optionCode": "00000"
}
]
},
"note": [],
"noDataValue": -999999,
"variableProperty": [],
"oid": "45807197"
},
"values": [
{
"value": [
{
"value": "2550",
"qualifiers": [
"P"
],
"dateTime": "2017-11-05T18:00:00.000-05:00"
},
{
"value": "2550",
"qualifiers": [
"P"
],
"dateTime": "2017-11-05T18:15:00.000-05:00"
},
{
"value": "2520",
"qualifiers": [
"P"
],
"dateTime": "2017-11-05T18:30:00.000-05:00"
},
{
"value": "2520",
"qualifiers": [
"P"
],
"dateTime": "2017-11-05T18:45:00.000-05:00"
},
{
"value": "2520",
"qualifiers": [
"P"
],
"dateTime": "2017-11-05T19:00:00.000-05:00"
},
{
"value": "2520",
"qualifiers": [
"P"
],
"dateTime": "2017-11-05T19:15:00.000-05:00"
},
{
"value": "2500",
"qualifiers": [
"P"
],
"dateTime": "2017-11-05T19:30:00.000-05:00"
},
{
"value": "2500",
"qualifiers": [
"P"
],
"dateTime": "2017-11-05T19:45:00.000-05:00"
},
{
"value": "2500",
"qualifiers": [
"P"
],
"dateTime": "2017-11-05T20:00:00.000-05:00"
},
{
"value": "2500",
"qualifiers": [
"P"
],
"dateTime": "2017-11-05T20:15:00.000-05:00"
},
{
"value": "2500",
"qualifiers": [
"P"
],
"dateTime": "2017-11-05T20:30:00.000-05:00"
},
{
"value": "2490",
"qualifiers": [
"P"
],
"dateTime": "2017-11-05T20:45:00.000-05:00"
},
{
"value": "2490",
"qualifiers": [
"P"
],
"dateTime": "2017-11-05T21:00:00.000-05:00"
},
{
"value": "2490",
"qualifiers": [
"P"
],
"dateTime": "2017-11-05T21:15:00.000-05:00"
},
{
"value": "2490",
"qualifiers": [
"P"
],
"dateTime": "2017-11-05T21:30:00.000-05:00"
},
{
"value": "2490",
"qualifiers": [
"P"
],
"dateTime": "2017-11-05T21:45:00.000-05:00"
},
{
"value": "2470",
"qualifiers": [
"P"
],
"dateTime": "2017-11-05T22:00:00.000-05:00"
},
{
"value": "2470",
"qualifiers": [
"P"
],
"dateTime": "2017-11-05T22:15:00.000-05:00"
},
{
"value": "2450",
"qualifiers": [
"P"
],
"dateTime": "2017-11-05T22:30:00.000-05:00"
},
{
"value": "2450",
"qualifiers": [
"P"
],
"dateTime": "2017-11-05T22:45:00.000-05:00"
},
{
"value": "2450",
"qualifiers": [
"P"
],
"dateTime": "2017-11-05T23:00:00.000-05:00"
},
{
"value": "2450",
"qualifiers": [
"P"
],
"dateTime": "2017-11-05T23:15:00.000-05:00"
},
{
"value": "2450",
"qualifiers": [
"P"
],
"dateTime": "2017-11-05T23:30:00.000-05:00"
},
{
"value": "2450",
"qualifiers": [
"P"
],
"dateTime": "2017-11-05T23:45:00.000-05:00"
},
{
"value": "2450",
"qualifiers": [
"P"
],
"dateTime": "2017-11-06T00:00:00.000-05:00"
},
{
"value": "2470",
"qualifiers": [
"P"
],
"dateTime": "2017-11-06T00:15:00.000-05:00"
},
{
"value": "2470",
"qualifiers": [
"P"
],
"dateTime": "2017-11-06T00:30:00.000-05:00"
},
{
"value": "2470",
"qualifiers": [
"P"
],
"dateTime": "2017-11-06T00:45:00.000-05:00"
},
{
"value": "2450",
"qualifiers": [
"P"
],
"dateTime": "2017-11-06T01:00:00.000-05:00"
},
{
"value": "2450",
"qualifiers": [
"P"
],
"dateTime": "2017-11-06T01:15:00.000-05:00"
},
{
"value": "2470",
"qualifiers": [
"P"
],
"dateTime": "2017-11-06T01:30:00.000-05:00"
},
{
"value": "2470",
"qualifiers": [
"P"
],
"dateTime": "2017-11-06T01:45:00.000-05:00"
},
{
"value": "2470",
"qualifiers": [
"P"
],
"dateTime": "2017-11-06T02:00:00.000-05:00"
},
{
"value": "2490",
"qualifiers": [
"P"
],
"dateTime": "2017-11-06T02:15:00.000-05:00"
},
{
"value": "2490",
"qualifiers": [
"P"
],
"dateTime": "2017-11-06T02:30:00.000-05:00"
},
{
"value": "2500",
"qualifiers": [
"P"
],
"dateTime": "2017-11-06T02:45:00.000-05:00"
},
{
"value": "2500",
"qualifiers": [
"P"
],
"dateTime": "2017-11-06T03:00:00.000-05:00"
}
],
"qualifier": [
{
"qualifierCode": "P",
"qualifierDescription": "Provisional data subject to revision.",
"qualifierID": 0,
"network": "NWIS",
"vocabulary": "uv_rmk_cd"
}
],
"qualityControlLevel": [],
"method": [
{
"methodDescription": "",
"methodID": 66577
}
],
"source": [],
"offset": [],
"sample": [],
"censorCode": []
}
],
"name": "USGS:01129500:00060:00000"
}
]
},
"nil": false,
"globalScope": true,
"typeSubstituted": false
}
어떻게 레이블 "값"으로 모든 정보를 잡고 난 다음에 기능을 수행 할 수있는 데이터 구조로이 번호를 저장합니까?
감사
올바른 내가 그 정보를, 더 깊이 중첩 된 단지 값이 필요하지 않습니다. 각 값의 시간 소인과 그 다음 값을 갖는 2 차원 배열을 갖는 것이 유익합니다. 이 일을 쉽게 처리 할 수있는 PHP 라이브러리가 있어야합니다. – Mactate10