如何在python中解码Json并迭代

时间:2016-03-10 13:22:06

标签: php python arrays json

我是python中的新手,我正在向python发送一个php json编码数组 像这样:

$myArray = array(1,5,8,6);
$jsonArray = json_encode($myArray);

exec("python ".$absPath."/myPythonFile.py $absPath $parm $jsonArray",$out);

这是python代码:

from pydfs_lineup_optimizer import *
import sys
import json

optimizer = LineupOptimizer(FanDuelBasketballSettings)
optimizer.load_players_from_CSV("test_new.json")
try:
    players_that_you_want = []
    for number in sys.argv[3]:
        print number
    lineups = optimizer.optimize()
    for l in lineups:
        print(l)
except LineupOptimizerException as e:
    print(e)

当我尝试在python文件中打印number变量时,这就是python返回的方式:

[
1
,
5
,
8
,
6
]

我希望这样:

1
5
8
6

任何想法我做错了什么?

2 个答案:

答案 0 :(得分:1)

参数是作为一个字符串发送的,所以你实际上并没有用循环将它分成正确的值。您可以尝试使用split(',')剥离方括号。

input = "[1,2,3,4]"
processed_input = input.strip('[]').split(',')

以上代码将完成这项工作。

答案 1 :(得分:0)

这就是我们需要做的事情:

from pydfs_lineup_optimizer import *
import sys
import json

optimizer = LineupOptimizer(FanDuelBasketballSettings)
optimizer.load_players_from_CSV("test_new.json")
try:
    players_that_you_want = []
    for number in json.loads(sys.argv[3]):
        print number
    lineups = optimizer.optimize()
    for l in lineups:
        print(l)
except LineupOptimizerException as e:
    print(e)