首頁 >後端開發 >php教程 >提取文字(txt)中json數組中的某一項值

提取文字(txt)中json數組中的某一項值

WBOY
WBOY原創
2016-10-22 00:14:211467瀏覽

1.專案和第三方平台做了對接,之前的技術人員將返回結果寫入了txt文件,內容有下單人姓名、手機號碼、jason數組(數組裡面是第三方平台返回的結果);
現在我需要將json裡面的某一項值提取出來,提交給支付寶。 我不知道該怎麼操作

提取文字(txt)中json數組中的某一項值

我要取得是數組裡的 PayDeclareAmount":0.0075 這個值 請問大神們有什麼思路?

回覆內容:

1.專案和第三方平台做了對接,之前的技術人員將返回結果寫入了txt文件,內容有下單人姓名、手機號碼、jason數組(數組裡面是第三方平台返回的結果);
現在我需要將json裡面的某一項值提取出來,提交給支付寶。 我不知道該怎麼操作

提取文字(txt)中json數組中的某一項值

我要取得是數組裡的 PayDeclareAmount":0.0075 這個值 請問大神們有什麼思路?

有兩種方法:

  1. 如果前面的格式相似的,都是n行開頭,直接skip n行, 上面的數據,然後,後面讀取的行信息的都拼接到一起後,json_decode(xxx, true); ,再根據欄位返回就行。讀取一行使用fgets

  2. 用正規匹配篩選。

因為我確定只要PayDeclareAmount後面的值
匹配規則 $checktxt="/^PayDeclareAmount&/"這樣定義,問題是後面的值要如何取出?

<code>public function getText(){
        $file=APPPATH.'upload/aaa.txt';
        $content=file($file);
        foreach ($content as $cont){
            echo $cont."<br>";
            }
        }</code>

我就講文本列了出來 後面卡主了

正則好想有一個indexOf屬性,返回匹配到的index值,你匹配到‘{’符號,往後截取全部,不就得到了一個json格式的字符串了嗎,那後面的就好辦了

謝邀。

<code>json_decode("json字符串", true)["PayDeclareAmount"] 即可。</code>

學習一下 大家的回答真好

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn