提取文本(txt)中json数组中的某一项值
1.项目和第三方平台做了对接,之前的技术人员将返回结果写入了txt文件,内容有下单人姓名、手机号、jason数组(数组里面是第三方平台返回的结果);
现在我需要将json里面的某一项值提取出来,提交给支付宝。 我不知道该怎么操作
我要取得是数组里的 PayDeclareAmount":0.0075 这个值 请问大神们有什么思路?
回复内容:
1.项目和第三方平台做了对接,之前的技术人员将返回结果写入了txt文件,内容有下单人姓名、手机号、jason数组(数组里面是第三方平台返回的结果);
现在我需要将json里面的某一项值提取出来,提交给支付宝。 我不知道该怎么操作
我要取得是数组里的 PayDeclareAmount":0.0075 这个值 请问大神们有什么思路?
有两种方法:
如果前面的格式相似的,都是n行开头,直接
skip n行
, 上面的数据,然后,后面读取的行信息的都拼接到一起后,json_decode(xxx, true);
,再根据字段返回就行。读取一行使用fgets
。用正则匹配筛选。
因为我确定只要PayDeclareAmount后面的值
匹配规则 $checktxt="/^PayDeclareAmount&/"
这样定义,问题是后面的值如何取出呢?
public function getText(){
$file=APPPATH.'upload/aaa.txt';
$content=file($file);
foreach ($content as $cont){
echo $cont."
";
}
}
我就讲文本列了出来 后面卡主了
正则好想有一个indexOf属性,返回匹配到的index值,你匹配到‘{’符号,往后截取全部,不就得到了一个json格式的字符串了吗,那后面的就好办了
谢邀。
json_decode("json字符串", true)["PayDeclareAmount"] 即可。
学习一下 大家的回答真好