phpshell_execcat读取json数组

phpshell_execcat读取json数组,第1张

$json_str = $this->phpshell_execcat($file)

//转换成数组

$json_arr = json_decode($json_str,true)

}else{

//如果文件不存在,则创建一个空数组

$json_arr = array()

}

//把要添加的数据追加到数组中

$json_arr[] = $data

//把数组转换成JSON字符串并写入文件中

$json_str = json_encode($json_arr)

if(file_put_contents($file,$json_str)){

return true

}else{

return false

}

}

/** 执行命令行命令 */ //执行命令行命令,返回执行结果字符串(错误信息也会返回)。如:echo 'hello' | php -r 'echo "world"' 返回 worldhello。如:php -r 'echo "world"' 返回 world。如:php -r 'echo "world"' >/tmp/test.txt 返回 空。如:php -r 'echo "world"' >/tmp/test.txt 2>&1 返回 空。如:php -r 'echo "world"' >/tmp/test.txt 2>&1 &echo hello 返回 hello。如:php -r 'echo "world"' >/tmp/test.txt 2>&1 &echo hello | php -r 'echo "world2"' 返回 world2hello。如:php -r 'echo "world"' >/tmp/test.txt 2>&1 &echo hello | php -r 'echo "world2"' >/tmp/test2.txt 2>&1 &echo hello3 返回 hello3。如:php -r 'echo "world"' >/tmp/test.txt 2>&1 &echo hello | php -r 'echo "world2"' >/tmp/test2.txt 2>&1 &echo hello3 | php -r 'echo "world4"' 返回 world4hello3。如:exec('ls')返回当前目录下的文件和目录名列表(一行一个) 如:exec('ls',$out)返回当前目录下的文件和目录名列表(一个元素一个) 如:exec('ls',$out,$status)返回当前目录下的文件和目录名列表(一个元素一个),并将执行的退出代码赋值给变量status 如:system('ls')返回当前目录下的文件和目录名列表(一行一个) 如:passthru('ls')返回当前目录下的文件和目录名列表(原样输出) 如:shell_exec('ls')返回当前目录下的文件和目录名列表(一行一个)

import net.sf.json.JSONArray

import net.sf.json.JSONObject

public class DoJSON {

public static void main(String[] args) {

JSONArray employees = new JSONArray()//JSON数组

JSONObject employee = new JSONObject()//JSON象

employee.put("firstName", "Bill")//按键-值形式存储数据JSON象

employee.put("lastName", "Gates")

employees.add(employee)//JSON象加入JSON数组

employee.put("firstName", "George")

employee.put("lastName", "Bush")

employees.add(employee)

employee.put("firstName", "Thomas")

employee.put("lastName", "Carter")

employees.add(employee)

System.out.println(employees.toString())

for(int i=0i<employees.size()i++) {

JSONObject emp = employees.getJSONObject(i)

System.out.println(emp.toString())

System.out.println("FirstName :\t" + emp.get("firstName"))

System.out.println("LastName : \t" + emp.get("lastName"))

}

}

}

K

1、首先需要在桌面新建‘json.txt’文件,内容为jsonline格式。

2、打开Python开发工具IDLE,新建‘json.py’文件,并按照如图所示书写代码。

3、F5运行程序,Shell打印出json文本信息。

4、这是一次性读取所有内容,如果文件很大的情况,出于性能考虑要分批读取内容,这样要用到yield生成器,改写lines()函数如下,注意yield一定要写在with里,这样才能每次从上一次读取的位置继续读取。

5、继续写程序入口函数,这里要注意readlines返回的是一个列表,要读取里面的内容,要再做一个循环来遍历。

6、F5运行程序,Shell打印出json文本信息,这个利用生成器方式读取的方式经常处理较大的文件。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11774774.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存