Please look into EDIT at the end.
I am parsing invalid json data from an external URL and I want modify the values of a specific keys. I want to multiply the values with a constant number for the values of a specific key (cent).
If you look closely, the pattern repeats, it starts with "vk".
How can I multiply the values of "cent" with a constant number (0.887).
The sample data that I'm parsing from external URL looks like as shown below:
{"0":{"vk":{"cent":21,"bank":1453},"ok":{"cent":4,"bank":2581},"wa":{"cent":4.5,"bank":959},"vi":{"cent":4,"bank":0},"tg":{"cent":4.5,"bank":0},"wb":{"cent":14,"bank":6733},"go":{"cent":5.5,"bank":149},"av":{"cent":2.5,"bank":2139},"av_1":{"cent":59,"bank":0},"fb":{"cent":3,"bank":84},"tw":{"cent":2,"bank":3848},"ot_1":{"cent":59,"bank":0},"ub":{"cent":1,"bank":4042},"gt":{"cent":1,"bank":6835},"ig":{"cent":5,"bank":3094},"ym":{"cent":2,"bank":16},"ym_1":{"cent":59,"bank":0},"ma":{"cent":1,"bank":5282},"mm":{"cent":2,"bank":0},"uk":{"cent":2,"bank":7097},"mb":{"cent":2.5,"bank":2694},"we":{"cent":1,"bank":7010},"bd":{"cent":13,"bank":0},"dt":{"cent":2,"bank":5592},"ya":{"cent":2,"bank":3811},"ya_1":{"cent":59,"bank":0},"mt":{"cent":4,"bank":6468},"oi":{"cent":1.25,"bank":1200},"fd":{"cent":1,"bank":5505},"zz":{"cent":2,"bank":7097},"kt":{"cent":1.5,"bank":6585},"pm":{"cent":1.5,"bank":983},"tn":{"cent":1,"bank":7112},"qq":{"cent":2,"bank":5796},"mg":{"cent":1,"bank":2260},"yl":{"cent":1,"bank":5950},"po":{"cent":2,"bank":5645},"nv":{"cent":2,"bank":3378},"nf":{"cent":2,"bank":6210},"im":{"cent":1.5,"bank":217},"ds":{"cent":1.25,"bank":5796},"vv":{"cent":1,"bank":6685},"lf":{"cent":1.5,"bank":6582},"gp":{"cent":1.5,"bank":6682},"am":{"cent":1,"bank":6674},"tc":{"cent":1,"bank":6683},"dp":{"cent":1,"bank":6324},"yf":{"cent":2,"bank":6587},"op":{"cent":2,"bank":6331},"fx":{"cent":2,"bank":6525},"qr":{"cent":2,"bank":6664},"yk":{"cent":2,"bank":6650},"ls":{"cent":2,"bank":6668},"bl":{"cent":2,"bank":6025},"mu":{"cent":2,"bank":6627},"fu":{"cent":2,"bank":6666},"sg":{"cent":2,"bank":6387},"uu":{"cent":2,"bank":6678},"ua":{"cent":2,"bank":6357},"ab":{"cent":2,"bank":6127},"iv":{"cent":2,"bank":6685},"fy":{"cent":2,"bank":6351},"ce":{"cent":2,"bank":6279},"hm":{"cent":2,"bank":6317},"tx":{"cent":2,"bank":6669},"pl":{"cent":2,"bank":6682},"ip":{"cent":2,"bank":6314},"hw":{"cent":2,"bank":6085},"de":{"cent":1,"bank":6548},"jc":{"cent":2,"bank":6683},"rl":{"cent":2,"bank":6594},"df":{"cent":2,"bank":6353},"ui":{"cent":1.5,"bank":6633},"up":{"cent":2,"bank":6670},"kf":{"cent":1,"bank":6685},"za":{"cent":2,"bank":6683},"da":{"cent":3,"bank":5469},"sq":{"cent":2,"bank":6685},"li":{"cent":2,"bank":6486},"rd":{"cent":2,"bank":6650},"qb":{"cent":2,"bank":6685},"hz":{"cent":2,"bank":6684},"ia":{"cent":2,"bank":6685},"ew":{"cent":1.5,"bank":6681},"ae":{"cent":1,"bank":6654},"gb":{"cent":1,"bank":6681},"cy":{"cent":3,"bank":5642},"qm":{"cent":2.5,"bank":6684},"yb":{"cent":2.5,"bank":6761},"ot":{"cent":2.5,"bank":0}}}{"1":{"vk":{"cent":21,"bank":6},"ok":{"cent":5,"bank":1594},"wa":{"cent":8,"bank":0},"vi":{"cent":7,"bank":3},"tg":{"cent":8,"bank":0},"wb":{"cent":15,"bank":952},"go":{"cent":10,"bank":2},"av":{"cent":4,"bank":1517},"fb":{"cent":3.5,"bank":3},"tw":{"cent":2,"bank":453},"ub":{"cent":2,"bank":610},"gt":{"cent":1,"bank":1511},"sn":{"cent":40,"bank":693},"ig":{"cent":6,"bank":0},"ss":{"cent":1,"bank":1516},"ym":{"cent":2,"bank":1434},"ma":{"cent":1,"bank":1140},"mm":{"cent":2,"bank":0},"uk":{"cent":2,"bank":1447},"me":{"cent":1,"bank":1516},"mb":{"cent":2.5,"bank":262},"we":{"cent":1,"bank":1517},"bd":{"cent":1,"bank":1509},"kp":{"cent":2,"bank":1466},"dt":{"cent":1,"bank":1515},"ya":{"cent":1,"bank":558},"mt":{"cent":4,"bank":1923},"oi":{"cent":2,"bank":474},"fd":{"cent":2,"bank":1448},"zz":{"cent":2,"bank":1509},"kt":{"cent":2,"bank":580},"pm":{"cent":1.5,"bank":1},"tn":{"cent":1,"bank":1499},"qq":{"cent":2,"bank":1022},"yl":{"cent":1,"bank":1459},"po":{"cent":6,"bank":1478},"nv":{"cent":6,"bank":611},"nf":{"cent":6,"bank":1334},"im":{"cent":2,"bank":188},"ds":{"cent":1.5,"bank":187},"vv":{"cent":2,"bank":1453},"ji":{"cent":2,"bank":998},"lf":{"cent":2,"bank":1470},"hu":{"cent":6,"bank":854},"wg":{"cent":4,"bank":991},"rz":{"cent":2,"bank":1408},"la":{"cent":6,"bank":1477},"zh":{"cent":1,"bank":1430},"gp":{"cent":1.5,"bank":1458},"ls":{"cent":6,"bank":1478},"zy":{"cent":6,"bank":1476},"tx":{"cent":6,"bank":1260},"cm":{"cent":6,"bank":1384},"hw":{"cent":6,"bank":853},"ri":{"cent":9,"bank":1476},"za":{"cent":2,"bank":1453},"gl":{"cent":3,"bank":1366},"dh":{"cent":4,"bank":1409},"ot":{"cent":6,"bank":519}}}
The code I tried:
$json = get_content('tld.xyz/json.php?bank=prices');
$data = json_decode($json, true);
foreach ($decoded_json['cent'] as &$value)
{ if ($value >= 0){ $value = $value * 0.887; $result[]=$value; } }
$fin = json_encode($data);
echo $fin;
EDIT: I think it's not json and it can be solved by using regex. I am thinking to find the string between : and , and how to multiply this number with my constant.
Any help is appreciated. I am not a web developer but I have a small project and I'm trying to solve this issue on my own rather than hiring someone.
Thank you.