JSON combining arrays into single array
-
Hi Ali,
We spoke on twitter earlier, but I thought I’d post here to make my issue a little clearer, hopefully you can help me !
I’m using the update_user_meta to send a JSON array to a custom field against the user called wc_other_addresses.
The output I’d like is:
a:3:{i:1;a:9:{s:19:"shipping_first_name";s:6:"Darren";s:18:"shipping_last_name";s:11:"Keats-Croft";s:16:"shipping_company";s:28:"K3 Business Technology Group";s:16:"shipping_country";s:2:"GB";s:18:"shipping_address_1";s:15:"Baltimore House";s:18:"shipping_address_2";s:16:"50 Kansas Avenue";s:13:"shipping_city";s:7:"Salford";s:14:"shipping_state";s:18:"GREATER MANCHESTER";s:17:"shipping_postcode";s:7:"M50 2GL";}i:2;a:9:{s:19:"shipping_first_name";s:4:"John";s:18:"shipping_last_name";s:3:"Doe";s:16:"shipping_company";s:8:"Arcadium";s:16:"shipping_country";s:2:"GB";s:18:"shipping_address_1";s:17:"26 Arcadia Avenue";s:18:"shipping_address_2";s:10:"Kensington";s:13:"shipping_city";s:9:"Liverpool";s:14:"shipping_state";s:10:"Merseyside";s:17:"shipping_postcode";s:7:"L14 3AD";}i:3;a:9:{s:19:"shipping_first_name";s:5:"David";s:18:"shipping_last_name";s:11:"Keats-Croft";s:16:"shipping_company";s:4:"dmkc";s:16:"shipping_country";s:2:"DZ";s:18:"shipping_address_1";s:15:"Appt 1012 Abito";s:18:"shipping_address_2";s:15:"4 Clippers Quay";s:13:"shipping_city";s:7:"Salford";s:14:"shipping_state";s:18:"GREATER MANCHESTER";s:17:"shipping_postcode";s:6:"M503BS";}}
which converted to JSON using an online converter looks like this:
{ "1":{ "shipping_first_name":"Darren", "shipping_last_name":"Keats-Croft", "shipping_company":"K3 Business Technology Group", "shipping_country":"GB", "shipping_address_1":"Baltimore House", "shipping_address_2":"50 Kansas Avenue", "shipping_city":"Salford", "shipping_state":"GREATER MANCHESTER", "shipping_postcode":"M50 2GL" }, "2":{ "shipping_first_name":"John", "shipping_last_name":"Doe", "shipping_company":"Arcadium", "shipping_country":"GB", "shipping_address_1":"26 Arcadia Avenue", "shipping_address_2":"Kensington", "shipping_city":"Liverpool", "shipping_state":"Merseyside", "shipping_postcode":"L14 3AD" }, "3":{ "shipping_first_name":"David", "shipping_last_name":"Keats-Croft", "shipping_company":"dmkc", "shipping_country":"DZ", "shipping_address_1":"Appt 1012 Abito", "shipping_address_2":"4 Clippers Quay", "shipping_city":"Salford", "shipping_state":"GREATER MANCHESTER", "shipping_postcode":"M503BS" } }
However, when trying to pass the above JSON via postman, I get the following in the db, which doesn’t work with the plugin:
a:27:{i:0;s:29:"[{"shipping_first_name":"Tom"";i:1;s:34:""shipping_last_name":"Keats-Croft"";i:2;s:49:""shipping_company":"K3 Business Technology Group"";i:3;s:23:""shipping_country":"GB"";i:4;s:38:""shipping_address_1":"Baltimore House"";i:5;s:39:""shipping_address_2":"50 Kansas Avenue"";i:6;s:25:""shipping_city":"Salford"";i:7;s:37:""shipping_state":"GREATER MANCHESTER"";i:8;s:31:""shipping_postcode":"M50 2GL" }";i:9;s:30:"{ "shipping_first_name":"John"";i:10;s:26:""shipping_last_name":"Doe"";i:11;s:29:""shipping_company":"Arcadium"";i:12;s:23:""shipping_country":"GB"";i:13;s:40:""shipping_address_1":"26 Arcadia Avenue"";i:14;s:33:""shipping_address_2":"Kensington"";i:15;s:27:""shipping_city":"Liverpool"";i:16;s:29:""shipping_state":"Merseyside"";i:17;s:31:""shipping_postcode":"L14 3AD" }";i:18;s:31:"{ "shipping_first_name":"David"";i:19;s:34:""shipping_last_name":"Keats-Croft"";i:20;s:29:""shipping_company":"crw345tf"";i:21;s:23:""shipping_country":"DZ"";i:22;s:38:""shipping_address_1":"Appt 1012 Abito"";i:23;s:38:""shipping_address_2":"4 Clippers Quay"";i:24;s:25:""shipping_city":"Salford"";i:25;s:37:""shipping_state":"GREATER MANCHESTER"";i:26;s:31:""shipping_postcode":"M50 3BS"}]";}
It seems that what’s happening is that the JSON is being combined into 1 array with 27 strings, rather than 1 array containing 3 sub-arrays with 9 strings each in.
I’ve tried json_decode and also serialize, but can’t seem to get the correct result into the database.
Please could you help me resolve this?
- The topic ‘JSON combining arrays into single array’ is closed to new replies.