15

I have managed to get data from database in PHP file. From there(data.php),

$output = json_encode($result);

The result would be like this,

$output=[{"kitty":"Whitely"},{"kitty":"Tabby"},{"kitty":"Ruby"},{"kitty":"Silver"}]

So how do I give name "kitten" an array of kitty objects in php format?

For example like

"kitten":[{"kitty":"Whitely"},{"kitty":"Tabby"},{"kitty":"Ruby"},{"kitty":"Silver"}]
0

5 Answers 5

40

You have to wrap your result in another array on the 'kitten' key :

$output = json_encode(['kitten' => $result]);
Sign up to request clarification or add additional context in comments.

Comments

1

Try this:

<?php

$kitty = array('kitten' => array());
$kitty['kitty'][] = array('kitty' => 'Tabby');
$kitty['kitty'][] = array('kitty' => 'Ruby');
$kitty['kitty'][] = array('kitty' => 'Silver');

var_dump($kitty);
var_dump(json_encode($kitty));

which results in: {"kitty":[{"kitty":"Tabby"},{"kitty":"Ruby"},{"kitty":"Silver"}]}

1 Comment

@user1739825 See my answer for that.
1
 $result =array('kitten'=> $output);

output

{
"kitten":[
          {"kitty":"Whitely"},
          {"kitty":"Tabby"},
          {"kitty":"Ruby"},
          {"kitty":"Silver"}
        ]
}

Comments

0

Use nested encode and decode

$json = '[{"kitty":"Whitely"},{"kitty":"Tabby"},{"kitty":"Ruby"},{"kitty":"Silver"}]';

echo json_encode(array('kitten' => json_decode($json)));

Comments

0

try to use this

$output['kitty'][] = json_encode($result);

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.