-2

Sencha-Touchアプリ用にネストされたJSON配列を出力したいので、リーフノードに信号を送る必要があります。

正しい構文は次のとおりです。

  {
      "text": "Random",
      "leaf": true
  }

サーバー側からPHPで配列を作成します。これが、リーフ情報を追加する行です。

$myRow['leaf'] = 'true';     

残念ながら、それはそれほど単純ではありません。jsonをエンコードした後の出力は次のとおりです。

{
    "text": "Random",
    "leaf":"true"
}

Sencha Touchはブール値を認識しないため、 trueの周りの引用符には問題があります。

PHPファイルでtrueの周りの引用符なしで試しましたが、

"葉": "1"

JSONコールバックで...

私は他のいくつかのトリックを試しましたが、常に同じ問題です。

誰かが同じ問題を抱えていましたか?

前もって感謝します。

4

4 に答える 4

3

で動作します

$myRow['leaf'] = true;

でも使っていたので「1」utf8_encode()に変わってしまいました。true

于 2012-10-22T13:42:23.160 に答える
2

stringPHPの文字列であるため、真を取得しています...ブール値を使用します

$myRow['leaf'] = true; 
于 2012-06-18T12:49:09.327 に答える
0

私が思い出すと、それはphp <5.2のバージョンのバグです:

http://www.php.net/manual/en/function.json-encode.php#107968

単に試してみてください:

$jsonencodedstring = str_replace('"true"', 'true', $jsonencodedstring);
于 2012-06-18T12:57:01.967 に答える
0
array_walk_recursive($array, function(&$item, $key){
    if(!mb_detect_encoding($item, 'utf-8', true)) {
            $item = utf8_encode($item);
    }
});

if(!mb_detect_encoding($item, 'utf-8', true))条件を確認してください。これは、上記の質問に対する解決策であり、誰かを助けるかもしれません:)

于 2014-10-14T09:13:32.867 に答える