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.