2016-10-20 3 views
-1

ラベルとカテゴリにjson形式を作成したいと思います。 と私はjQuery.ui.autocompleteが動作しないこのオートコンプリート検索用のPHPでjson形式を作成する

$arr = array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5); 

foreach ($arr as $key => $value) { 

    $data = 'label:'. $key.','.'category:'.$value; 
} 
echo json_encode($data); 


I want to something like : 
    "[{label:"a", category:"1"},{label:"b", category:"2"},{label:"c", category:"3"}] 

を行う方法PHP でJSON形式のコードを取得していないです::

するvar test_url = Drupal.settings.url +「/ all_list ';

jQuery(".class").catcomplete({ 
     delay: 500, 
     minLength: 3, 
     // source:data 
     source: function(request, response) { 
     $.ajax({ 
     dataType: "json", 
     type : 'Get', 
     url: test_url, 
     success: function(data) { console.log(data);} 

     }); 
    } 

    }); 

私はconsole.log(data)経由で取得しています。

[{"label":"a","category":1},{"label":"b","category":2}, {"label":"c","category":3},{"label":"d","category":4},{"label":"e","category":5}] 
+0

配列に対して 'json_encode()'を使うことができます。特別な文字列形式に変換する必要はありません。 – Rizier123

答えて

0

あなたのコードを更新します。

$arr = array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5); 

foreach ($arr as $key => $value) { 

    $data .= 'label:'. $key.','.'category:'.$value; //you have missed this concatenation part 
} 
echo json_encode($data); 
0

単にこの

<?php 
$arr = array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5); 
$final = array(); 
foreach($arr as $key=>$value){ 
    $final[]=["label"=> $key,"category" => $value]; 
} 
echo json_encode($final); 
?> 

のような出力は、次のとおりです。

[{"label":"a","category":1},{"label":"b","category":2},{"label":"c","category":3},{"label":"d","category":4},{"label":"e","category":5}] 

ライブデモ:https://eval.in/663626

+0

こんにちは、 var test_url = Drupal.settings.url + '/ all_list'; 。 jQueryの( "クラス")catcomplete({ \t遅延:500、 \t \tはminLength:3、 \t //ソース:データ \t源:関数(リクエスト、レスポンス){ $アヤックス({ \t \t \tデータ型: "JSON"、 タイプ: 'プレゼント'、 URL:test_url、 成功:関数(データ){} });} \t})。 – RCP

+0

ここに私のajax呼び出し私はconsole.logでjsonのデータを取得していますが、オートコンプリートは動作しません – RCP

関連する問題