ホームページ  >  記事  >  バックエンド開発  >  [PHP] JSONモデルデータをJSONデータに置き換えるにはどうすればよいですか?

[PHP] JSONモデルデータをJSONデータに置き換えるにはどうすればよいですか?

WBOY
WBOYオリジナル
2016-06-13 13:33:48982ブラウズ

[PHP] JSON モデル データを JSON データに置き換えます
{data:[{code:"Spot Gold",newPrice:"1662.3",hight:"0",low:"0",buy:"1662.3 ", sell:"r1663.3",zhang:"r4.75",date:"4:59:40",open:"0",close:"1657.55"}, {code:"Hong Kong Gold",newPrice : "15384"、高値:"0"、安値:"0"、購入:"15384"、販売:"r15390"、張:"r44"、日付:"2:59:55"、開始:"0" 、 close:"15340"}、{code:"スポットシルバー"、newPrice:"31.25"、高値:"0"、安値:"0"、買い:"31.25"、売り:"r31.31"、張: " r0.17",date:"4:56:10",open:"0",close:"31.08"}, {code:"スポットプラチナ",newPrice:"1566.75",hight:"0",low : "0",買い:"1566.75",売り:"r1576.75",張:"r2.01",日付:"3:29:35",オープン:"0",クローズ:"1564.74"}, {コード:"スポットパラジウム"、新価格:"677.23"、高値:"0"、安値:"0"、買:"677.23"、売:"r684.23"、張:"r9.54"、日付:" 3:29:35",open:"0",close:"667.69"}]}


皆さん、これは JSON データを持つモデルですが、キー名に引用符がありません。 , そのため、json_decode はそれを不正な JSON データ形式とみなします。次に、正規表現に置き換えて引用符を追加します。

/(?
皆さんに質問させてください。

-----解決策---------

PHP コード
<?php
$json=<<<JSON
{data:[{code:"スポット ゴールド",newPrice:"1662.3",hight:"0",low:"0",buy:"1662.3",sell:"r1663.3",zhang:"r4.75 ",date:"4:59:40",open:"0",close:"1657.55"}, {コード:"香港ゴールド",newPrice:"15384",hight:"0",low:"0 " 、購入:"15384"、販売:"r15390"、張:"r44"、日付:"2:59:55"、開始:"0"、終了:"15340"}、{コード:"スポット シルバー" 、新規価格:"31.25"、高値:"0"、安値:"0"、購入:"31.25"、販売:"r31.31"、張:"r0.17"、日付:"4:56:10" 、オープン:"0"、クローズ:"31.08"}、{コード:"スポット プラチナ"、新価格:"1566.75"、高値:"0"、低値:"0"、買い:"1566.75"、売り:"r1576 .75",zhang:"r2.01",date:"3:29:35",open:"0",close:"1564.74"}、{code:"スポットパラジウム"、newPrice:"677.23"、高さ:"0"、安値:"0"、買い:"677.23"、売り:"r684.23"、張:"r9.54"、日付:"3:29:35"、オープン:"0"、クローズ:"667.69"}]}
JSON;

$json=preg_replace_callback('/(,|,?s*?{)b(w+):/','callback',$json);
print_r(json_decode($json,true));

関数コールバック($v){
    "{$v[1]}"{$v[2]}":" を返します。
}
<br><font color="#e78608">------解決策---------</font><br>$json=preg_replace('/(,| , ?s*?{)b(w+):/', '$1"$2":',$json);<br>print_r(json_decode($json,true));<br>
<br><font color="#e78608">------解決策---------</font><br>それでもボスは強力です<br> 2 階 ダウンロードしてください ({|,)([^:s]*)(?=:)
話し合ってください

上の階は素晴らしいです、それが私が望む結果です。

お聞きしたいのですが、正規表現(?<={|,)[^:s]*(?=:)は使えないのでしょうか? ?

------解決策---------
話し合う

上の階のものは素晴らしいです、私が望む結果です。

お聞きしたいのですが、正規表現(?<={|,)[^:s]*(?=:)は使えないのでしょうか? ?
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。