ホームページ > バックエンド開発 > PHPチュートリアル > このようなjsonデータを解析する方法

このようなjsonデータを解析する方法

WBOY
リリース: 2016-06-13 13:31:23
オリジナル
1076 人が閲覧しました

このような JSON データを解析する方法

JScript コード
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->

var myTransActionsData = {

'data': [
 {
'stock_name': "\u7231\u4ed5\u8fbe",
'stock_symbol': '002403',
'transaction_time': '2010-09-10 09:32:31',
'flag': 'sell',
'price': '17.52',
'amount': '39900',
'display': 'black'
},
 {
'stock_name': "\u7231\u4ed5\u8fbe",
'stock_symbol': '002403',
'transaction_time': '2010-09-09 13:05:16',
'flag': 'buy',
'price': '17.65',
'amount': '39900',
'display': 'black'
},
 {
'stock_name': "\u987a\u7f51\u79d1\u6280",
'stock_symbol': '300113',
'transaction_time': '2010-09-07 10:53:08',
'flag': 'sell',
'price': '84.98',
'amount': '8300',
'display': 'black'
},
 {
'stock_name': "\u987a\u7f51\u79d1\u6280",
'stock_symbol': '300113',
'transaction_time': '2010-09-06 13:01:47',
'flag': 'buy',
'price': '79.80',
'amount': '8300',
'display': 'black'
},
 {
'stock_name': "\u987a\u7f51\u79d1\u6280",
'stock_symbol': '300113',
'transaction_time': '2010-09-03 09:31:08',
'flag': 'sell',
'price': '78.87',
'amount': '8300',
'display': 'black'
},
 {
'stock_name': "\u987a\u7f51\u79d1\u6280",
'stock_symbol': '300113',
'transaction_time': '2010-09-02 09:37:44',
'flag': 'buy',
'price': '75.54',
'amount': '8300',
'display': 'black'
},
 {
'stock_name': "\u6d77\u683c\u901a\u4fe1",
'stock_symbol': '002465',
'transaction_time': '2010-09-02 09:30:27',
'flag': 'sell',
'price': '49.10',
'amount': '13000',
'display': 'black'
},
 {
'stock_name': "\u6d77\u683c\u901a\u4fe1",
'stock_symbol': '002465',
'transaction_time': '2010-09-01 14:01:05',
'flag': 'buy',
'price': '49.54',
'amount': '13000',
'display': 'black'
},
 {
'stock_name': "\u987a\u7f51\u79d1\u6280",
'stock_symbol': '300113',
'transaction_time': '2010-09-01 13:46:08',
'flag': 'sell',
'price': '72.98',
'amount': '8800',
'display': 'black'
},
 {
'stock_name': "\u987a\u7f51\u79d1\u6280",
'stock_symbol': '300113',
'transaction_time': '2010-08-27 09:34:52',
'flag': 'buy',
'price': '64.16',
'amount': '8800',
'display': 'black'
},
 {
'stock_name': "\u91d1\u53d1\u79d1\u6280",
'stock_symbol': '600143',
'transaction_time': '2010-08-27 09:30:59',
'flag': 'sell',
'price': '10.99',
'amount': '52100',
'display': 'black'
},
 {
'stock_name': "\u91d1\u53d1\u79d1\u6280",
'stock_symbol': '600143',
'transaction_time': '2010-08-26 13:59:58',
'flag': 'buy',
'price': '10.92',
'amount': '52100',
'display': 'black'
},
 {
'stock_name': "\u534e\u4ec1\u836f\u4e1a",
'stock_symbol': '300110',
'transaction_time': '2010-08-26 10:35:36',
'flag': 'sell',
'price': '22.57',
'amount': '25300',
'display': 'black'
},
 {
'stock_name': "\u534e\u4ec1\u836f\u4e1a",
'stock_symbol': '300110',
'transaction_time': '2010-08-25 09:31:05',
'flag': 'buy',
'price': '23.88',
'amount': '25300',
'display': 'black'
},
 {
'stock_name': "\u90d1\u7164\u673a",
'stock_symbol': '601717',
'transaction_time': '2010-08-24 10:41:38',
'flag': 'sell',
'price': '32.63',
'amount': '18400',
'display': 'black'
}

],
'count' : 541,
pagesize: 15,
'status' : '1000'
}

myTransActionsData['pages'] = Math.ceil(parseInt(myTransActionsData['count'])/parseInt(myTransActionsData['pagesize']))

ログイン後にコピー

私はこの方法を使用します

$str = file_get_contents($url);
$data = json_decode ( $str);
データを取得できません。
私は主にデータ内のデータを走査し、内部の値を取得したいと考えています。


-----解決策---------------------------- -
主に後者 ['count' : 541, pagesize: 15,] 形式が間違っているため、処理する必要があります
PHP コード
<?php
$str=<<<JSON
{ 'data': [ { 'stock_name': "u7231u4ed5u8fbe", 'stock_symbol': '002403', 'transaction_time': '2010-09-10 09:32:31', 'flag': '売り', '価格': '17.52', 'amount': '39900', 'display': 'black' }, { 'stock_name': "u7231u4ed5u8fbe", 'stock_symbol': '002403', 'transaction_time': '2010-09-09 13:05:16'、'フラグ': '購入'、'価格': '17.65'、'金額': '39900'、'表示': '黒' }, { 'stock_name': "u987au7f51u79d1u6280", '株式記号': '300113'、'取引時間': '2010-09-07 10:53:08'、'フラグ': '売り'、'価格': '84.98'、'金額': '8300'、'表示': '黒' }, { 'stock_name': "u987au7f51u79d1u6280", 'stock_symbol': '300113', 'transaction_time': '2010-09-06 13:01:47', 'flag': '購入', '価格': '79.80', '金額': '8300', '表示': '黒' }, { '株式名': "u987au7f51u79d1u6280", '株式記号': '300113', '取引時間': '2010-09- 03 09:31:08', 'フラグ': '販売'、'価格': '78.87'、'金額': '8300'、'表示': '黒' }, { '株名': "u987au7f51u79d1u6280", 'stock_symbol': '300113'、'transaction_time': '2010-09-02 09:37:44'、'flag': 'buy'、'price': '75.54'、'amount': '8300'、' display': 'black' }, { 'stock_name': "u6d77u683cu901au4fe1", 'stock_symbol': '002465', 'transaction_time': '2010-09-02 09:30:27', 'flag': 'sell', 'price': '49.10', 'amount': '13000', 'display': 'black' }, { 'stock_name': "u6d77u683cu901au4fe1", 'stock_symbol': '002465', 'transaction_time': '2010-09 -01 14:01:05'、'フラグ': '購入'、'価格': '49.54'、'金額': '13000'、'表示': '黒' }, { '株式名': "u987au7f51u79d1u6280" 、'stock_symbol': '300113'、'transaction_time': '2010-09-01 13:46:08'、'flag': '売り'、'価格': '72.98'、'金額': '8800'、 'display': 'black' }, { 'stock_name': "u987au7f51u79d1u6280", 'stock_symbol': '300113', 'transaction_time': '2010-08-27 09:34:52', 'flag': 'buy' 、'価格': '64.16'、'金額': '8800'、'表示': '黒' }, { '株式名': "u91d1u53d1u79d1u6280", '株式記号': '600143', '取引時間': '2010- 08-27 09:30:59', 'フラグ': '販売'、'価格': '10.99'、'金額': '52100'、'表示': '黒' }, { '株式名': "u91d1u53d1u79d1u6280 "、'stock_symbol': '600143'、'transaction_time': '2010-08-26 13:59:58'、'flag': '購入'、'価格': '10.92'、'金額': '52100' , 'display': 'black' }, { 'stock_name': "u534eu4ec1u836fu4e1a", 'stock_symbol': '300110', 'transaction_time': '2010-08-26 10:35:36', 'flag': '売り', 'price': '22.57', 'amount': '25300', 'display': 'black' }, { 'stock_name': "u534eu4ec1u836fu4e1a", 'stock_symbol': '300110', 'transaction_time': '2010 -08-25 09:31:05', 'フラグ': '購入'、'価格': '23.88'、'金額': '25300'、'表示': '黒' }, { '株式名': " u90d1u7164u673a"、'stock_symbol': '601717'、'transaction_time': '2010-08-24 10:41:38'、'flag': 'sell'、'price': '32.63'、'amount': '18400 ', 'display': 'black' } ], 'count' : 541, pagesize: 15, 'status' : '1000' }
JSON;


$str=str_replace(''',''"',$str);
$str=preg_replace('/"s*:([^"]+),s*"/',"":"$1","",$str);

print_r(json_decode($str,true));
 <div class="clear"></div>
ログイン後にコピー
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート