私はpython関数の出力からphpにデータを移動し、それをJSONに変換して、AJAXで呼び出すjavascript関数に送ります。特定のパターンの文字列から余分な文字を削除するPHP
形式は次のようになります。今
{"data_name" : [1.02, 3.013, -24.12, 39], "data_name_2" : [-0.32151], "data_name_3" : [0.321, -21.42425, 225125.002]}
、Pythonはjson.dumps
を介してデータを返しているし、それがPHPに達すると出力は一種の奇妙です。データがすでにパイソンからJSONであるので、json_encode
が正しく動作しませんが、ちょうどエコーJSONデータがこれを生成します。
"[{\"data_name\" : [[1.02], [3.013], [-24.12], [39]]}, {\"data_name_2\" : -0.32151}, {\"data_name_3\" : [[0.321], [-21.42425], [225125.002]]}, null]"
それでは、どのように私は、次のことを行うことができますか?
- (最初のものを除く)の各フィールドから
}, {
を削除 - (そう
\"data_name\"
が"data_name"
なり)、引用符の前にすべてのバックスラッシュを削除した文字列 - の先頭から最初の
"[
を削除 - 2次元配列の場合は、
[[1.02], [2.02]]
がになるように、内側の[]
シンボルを削除してください[1.02, 2.02]
- 1つの数字には彼らの周りので、
-0.32151
は私が}, null]"
に達すると、私は, null]"
を削除し、ちょうど最後}
を維持したい、最後に [-0.32151]
になります。
私はstrpos
について少し理解が、私は正規表現のいくつかのフォームとそれを取り込むことができるかわからない、または私はステップのそれぞれの世話をするために、文字列を使用して手動でループする必要がある場合。誰かがどのように起動するかというアイデアがあれば、私はそれを感謝します。
"私のデータが正しくエンコードされていません"という適切な修正は、エンコードされたテキストの改ざんではなく、データのプリエンコードまたはポストデコードを修正することです。 – Sammitch
これを試してみてください:http://stackoverflow.com/a/8635181/3541922 – MikeVelazco
JSONは標準で、PHPまたはサポートされている言語で読むことができるはずです。両方のコードをチェックしてください。 – MikeVelazco