Re: json_encode confusion
| From: | Jim Lucas | Date: | Thu, 10 Nov 2011 16:42:22 +0000 |
| Subject: | Re: json_encode confusion | ||
| References: | 1 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-315627@lists.php.net to get a copy of this message | ||
On 11/10/2011 6:45 AM, Bastien Koert wrote:
> Morning all,
>
> I've been having some fun with converting a text data file import into
> a json object for storage.
>
> I have a text file that is pipe delimited coming in via an upload. The
> first row is the headers and the second row is the data.
>
> Using this code:
>
> $data = file("inline_Nov_8_2011.txt");
>
> if(count($data)==2){
>
> $keys = explode("|", $data[0]);
> $fields = explode("|", $data[1]);
>
> $combine = array_combine($keys, $fields);
>
> $json = json_encode($combine);
> }
>
> After the combine, I get an array that looks like this
>
> Array
> (
> ['Legal Last Name '] => Andros
> ['Legal Middle Initial '] =>
> ['Legal First Name '] => Marisa
> ['Maiden/Other Name '] =>
> ['Social Insurance No. '] => 123456789
> ['Date of Birth '] => 2/1/1988
> ['Gender '] => Female
> )
>
> But the json encoded value looks like this (there are way more
> elements but this should be enough to represent what I need to do).
>
>
> {null:"Andros",null:"",null:"Marisa",null:"",null:"123456789",null:"2\/1\/1988",null:"Female"}
>
> I have been googling for info about allowed values for the json keys,
> but can't seem to find a clear doc on what is allowed and what isn't.
> I have tried unquoted keys, replaced the spaced with underscores but
> nothing I do seems to help.
>
> When I echo out the json encoded data, the keys are all nulls.
>
> Can someone point me in the correct direction? It may be that I need
> to manually create the key names as an array first, which I was hoping
> to avoid since the file format coming from the client is still in some
> flux.
>
Looking at your input array example, I see that you have trailing spaces in your
keys. Looking at the working example of DiRaven, the only difference that I see
with his example is that the input key values do not have a trailing spaces.
json is probably having an issue with that trailing spaces.
--
Jim Lucas
http://www.cmsws.com/
http://www.cmsws.com/examples/
http://www.bendsource.com/
C - (541) 408-5189
O - (541) 323-9113
H - (541) 323-4219