J'ai la réponse JSON suivante que je reçois d'une APIImpossible de convertir tableau de tableaux à tableau d'objets sans index dans Laravel
[
[
{"companyID":"U72200TG2005PTC045191","companyName":"OPEN TEXT TECHNOLOGIES INDIA PRIVATE LIMITED"},
{"companyID":"U51909HR2002PTC034956","companyName":"OPEN WAYS MARKETING PRIVATE LIMITED"},
{"companyID":"U00892HR2005PTC035863","companyName":"OPEN HOUSE DIGITAL MEDIA PRIVATE LIMITED"},
{"companyID":"U00804KA1999PTC024813","companyName":"OPEN LEAF STOCKS AND SHARES PRIVATE LIMITED"},
{"companyID":"U72300KA2000PTC026648","companyName":"OPEN STREAM TECHNOLOGIES (INDIA) PRIVATE LIMITED"},
{"companyID":"U72200KA2003PTC032219","companyName":"OPENCLOVIS SOLUTIONS PRIVATE LIMITED"},
{"companyID":"U72200KA2003PTC032083","companyName":"OPEN-SILICON RESEARCH PRIVATE LIMITED"},
{"companyID":"U72900KA2003PTC033042","companyName":"OPENGEAR NETWORKS PRIVATE LIMITED"},
{"companyID":"U72200DL2005PTC170412","companyName":"OPEN SOLUTIONS SOFTWARE SERVICES PRIVATE LIMITED"},
{"companyID":"U72112MP1985PTC002837","companyName":"OPEN END SPINNERS PVT LTD"}
]
]
Je veux le convertir en un tableau correct des objets
[
{"companyID":"U72200TG2005PTC045191","companyName":"OPEN TEXT TECHNOLOGIES INDIA PRIVATE LIMITED"},
{"companyID":"U51909HR2002PTC034956","companyName":"OPEN WAYS MARKETING PRIVATE LIMITED"},
{"companyID":"U00892HR2005PTC035863","companyName":"OPEN HOUSE DIGITAL MEDIA PRIVATE LIMITED"}
]
Mais je ne suis pas capable d'atteindre cet
ce sont les codes que j'ai essayé
$data = json_decode($result,true);
$new_array = array();
foreach ($data[0] as $to_obj)
{
new_array[] = (object)$to_obj;
}
return ($new_array);
$ result est le JSON qui provient de l'API. Quand je l'ai fait l'new_array de $ retourné
array:10 [
0 => {#546
+"companyID": "U72200TG2005PTC045191"
+"companyName": "OPEN TEXT TECHNOLOGIES INDIA PRIVATE LIMITED"
}
1 => {#576
+"companyID": "U51909HR2002PTC034956"
+"companyName": "OPEN WAYS MARKETING PRIVATE LIMITED"
}
2 => {#574
+"companyID": "U00892HR2005PTC035863"
+"companyName": "OPEN HOUSE DIGITAL MEDIA PRIVATE LIMITED"
}
3 => {#552
+"companyID": "U00804KA1999PTC024813"
+"companyName": "OPEN LEAF STOCKS AND SHARES PRIVATE LIMITED"
}
4 => {#548
+"companyID": "U72300KA2000PTC026648"
+"companyName": "OPEN STREAM TECHNOLOGIES (INDIA) PRIVATE LIMITED"
}
5 => {#572
+"companyID": "U72200KA2003PTC032219"
+"companyName": "OPENCLOVIS SOLUTIONS PRIVATE LIMITED"
}
6 => {#571
+"companyID": "U72200KA2003PTC032083"
+"companyName": "OPEN-SILICON RESEARCH PRIVATE LIMITED"
}
7 => {#570
+"companyID": "U72900KA2003PTC033042"
+"companyName": "OPENGEAR NETWORKS PRIVATE LIMITED"
}
8 => {#569
+"companyID": "U72200DL2005PTC170412"
+"companyName": "OPEN SOLUTIONS SOFTWARE SERVICES PRIVATE LIMITED"
}
9 => {#560
+"companyID": "U72112MP1985PTC002837"
+"companyName": "OPEN END SPINNERS PVT LTD"
}
]
Mais l'index du tableau vient aussi. Je veux que ce soit comme le suivant
[
{"companyID":"U72200TG2005PTC045191","companyName":"OPEN TEXT TECHNOLOGIES INDIA PRIVATE LIMITED"},
{"companyID":"U51909HR2002PTC034956","companyName":"OPEN WAYS MARKETING PRIVATE LIMITED"},
{"companyID":"U00892HR2005PTC035863","companyName":"OPEN HOUSE DIGITAL MEDIA PRIVATE LIMITED"}
]
Comment puis-je y parvenir? J'ai essayé mais ma réponse finale de JSON a des index du tableau que je ne veux pas.
Je crois que ce n'est pas un problème c'est le comportement de php array, si un tableau n'a pas d'index alors par défaut il faudra un index numérique, regardez https://3v4l.org/FkPPS –
@Ajeesh Je pense '$ data = json_decode ($ result, true);' et l'utilisation de '$ data [0]' vous donnera la sortie attendue. –