search

Home  >  Q&A  >  body text

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

1.项目和第三方平台做了对接,之前的技术人员将返回结果写入了txt文件,内容有下单人姓名、手机号、jason数组(数组里面是第三方平台返回的结果);
现在我需要将json里面的某一项值提取出来,提交给支付宝。 我不知道该怎么操作

我要取得是数组里的 PayDeclareAmount":0.0075 这个值 请问大神们有什么思路?

大家讲道理大家讲道理2897 days ago357

reply all(5)I'll reply

  • 高洛峰

    高洛峰2017-04-10 17:25:15

    有两种方法:

    1. 如果前面的格式相似的,都是n行开头,直接skip n行, 上面的数据,然后,后面读取的行信息的都拼接到一起后,json_decode(xxx, true);,再根据字段返回就行。读取一行使用fgets

    2. 用正则匹配筛选。

    reply
    0
  • 怪我咯

    怪我咯2017-04-10 17:25:15

    因为我确定只要PayDeclareAmount后面的值
    匹配规则 $checktxt="/^PayDeclareAmount&/"这样定义,问题是后面的值如何取出呢?

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

    我就讲文本列了出来 后面卡主了

    reply
    0
  • 阿神

    阿神2017-04-10 17:25:15

    正则好想有一个indexOf属性,返回匹配到的index值,你匹配到‘{’符号,往后截取全部,不就得到了一个json格式的字符串了吗,那后面的就好办了

    reply
    0
  • 迷茫

    迷茫2017-04-10 17:25:15

    谢邀。

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

    reply
    0
  • 天蓬老师

    天蓬老师2017-04-10 17:25:15

    学习一下 大家的回答真好

    reply
    0
  • Cancelreply