2016-10-06 10 views
1

何時間も検索した後、私はこの質問を投稿しています。私は$responsesという変数を持っています。この変数は、次のようにエンコードされたJSONオブジェクトを出力します。JSONオブジェクトのカウント数

[ 
{ 
    "notification_id": 4936, 
    "notification_title": "Bridge construction", 
    "notification_category": "Activities of extraterritorial organizations", 
    "notification_posted_date": "19/09/16", 
    "notification_time_left": "2016/10/11 12:45:00", 
    "notification_by_company": "The Media Company" 
} 
] 

複数のオブジェクトがあり、以下のコードを使用してその数もカウントしようとしています。

echo json_encode($responses); 
echo count($responses); 

しかし、何らかの理由で動作しません。私もこれを試しました:

$JsonDecode = json_decode($responses, true);  
echo $JsonDecode; 

主な問題は、JSONの印刷とオブジェクトのカウントの取得です。どんな助けでも大歓迎です。 $responses{...},{...}....を以下の場合は

+2

2番目のコードで 'count'について忘れました – nospor

+0

json全体を提供できますか? 4936、 「notification_title:これまでの完全なJSONレスポンスですが、コースを外れ、それはオブジェクトが、私は完全にJSONレスポンス [ { 「notification_id」を投稿することはできませんが減少することとにより、ワード限度に、同時に増加することができます – Archish

+0

":"橋の建設 "、 " notification_category ":"外部の行政機関と団体の活動 "、 " notification_posted_date ":" 19/09/16 "、 " notification_time_left ":" 2016/10/11 12:45:00 "、 " notification_by_company ":" The Media Company " } ] –

答えて

-1

、あなたは、JSON文字列に1つ(多分それ以上)のオブジェクト(複数可)を含む配列を表していること

$explode = explode('},{', $responses); 
$count = count($explode); 
+0

あなたの素早い応答をありがとうが、残念ながらそれは動作しませんでした $ explode = explode' 、$応答); \t \t $ count = count($ explode); \t \t \t \t echo $ count; それは0を返すので、他の方法で解決できると思いますか? –

+1

jsonのもっと大きな部分を見せてください – Blinkydamo

0

を試みることができます。だから、それぞれの性質をカウントする

あなたは

$s = '[ 
{ 
    "notification_id": 4936, 
    "notification_title": "Bridge construction", 
    "notification_category": "Activities of extraterritorial organizations", 
    "notification_posted_date": "19/09/16", 
    "notification_time_left": "2016/10/11 12:45:00", 
    "notification_by_company": "The Media Company" 
} 
]'; 

// Note using json_decode to convert a JSON string to its PHP equiv data type 
$j = json_decode($s); 

echo 'The number of objects in the array is ' . count($j) . '<br>'; 

foreach ($j as $inx => $obj) { 
    // count 
    echo "Object $inx has " . count((array)$obj) . ' Properties<br>'; 
} 

このような結果は、私は私が正しくあなたが望んで理解を願ってい

The number of objects in the array is 1<br> 
Object 0 has 6 Properties<br> 

で何かができるオブジェクト。

関連する問題