Rumah >pembangunan bahagian belakang >tutorial php >提取文本(txt)中json数组中的某一项值

提取文本(txt)中json数组中的某一项值

WBOY
WBOYasal
2016-10-22 00:14:211467semak imbas

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>

学习一下 大家的回答真好

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn