I need to build some JSON out from PHP. The structure of the JSON is less than trivial:
{
"new" : {
"checkpoints" :
[
{
"id" : "businessidea",
"name" : "business idea",
"purpose" : "Form a business idea",
"customer" :
{ "questions" :
[
{ "questionid" : "id1", "questiontitle": "Evaluate size of the market, likely growth vectors and estimate addressable size.", "answers" :
[
{"answertext" : "an answer here", "answerlink": "", "answers": [
{"answertext": "answer text here", "answerlink": "http://google.com"},
{"answertext": "answer text here", "answerlink": "http://google.com"},
{"answertext": "answer text here", "answerlink": "http://google.com"},
{"answertext": "answer text here", "answerlink": "http://google.com"}
]},
{"answertext" : "an answer here", "answerlink": "", "answers": [
{"answertext": "answer text here", "answerlink": "http://google.com"},
{"answertext": "answer text here", "answerlink": "http://google.com"},
{"answertext": "answer text here", "answerlink": "http://google.com"},
{"answertext": "answer text here", "answerlink": "http://google.com"}
]},
{"answertext" : "an answer here", "answerlink": "", "answers": [
{"answertext": "answer text here", "answerlink": "http://google.com"},
{"answertext": "answer text here", "answerlink": "http://google.com"},
{"answertext": "answer text here", "answerlink": "http://google.com"},
{"answertext": "answer text here", "answerlink": "http://google.com"}
]}
]
},
{ "questionid" : "id2","questiontitle": "Define the needs of the customers and the value we will deliver to the customers - customer pain and our solution", "answers" :
[
{"answertext" : "an answer here", "answerlink": "", "answers": [
{"answertext": "answer text here", "answerlink": "http://google.com"},
{"answertext": "answer text here", "answerlink": "http://google.com"},
{"answertext": "answer text here", "answerlink": "http://google.com"},
{"answertext": "answer text here", "answerlink": "http://google.com"}
]},
{"answertext" : "an answer here", "answerlink": "", "answers": [
{"answertext": "answer text here", "answerlink": "http://google.com"},
{"answertext": "answer text here", "answerlink": "http://google.com"},
{"answertext": "answer text here", "answerlink": "http://google.com"},
{"answertext": "answer text here", "answerlink": "http://google.com"}
]},
{"answertext" : "an answer here", "answerlink": "", "answers": [
{"answertext": "answer text here", "answerlink": "http://google.com"},
{"answertext": "answer text here", "answerlink": "http://google.com"},
{"answertext": "answer text here", "answerlink": "http://google.com"},
{"answertext": "answer text here", "answerlink": "http://google.com"}
]}
]
},
{ "questionid" : "id3","questiontitle": "Define the competitor landscape" , "answers" :
[
{"answertext" : "an answer here", "answerlink": "", "answers": [
{"answertext": "answer text here", "answerlink": "http://google.com"},
{"answertext": "answer text here", "answerlink": "http://google.com"},
{"answertext": "answer text here", "answerlink": "http://google.com"},
{"answertext": "answer text here", "answerlink": "http://google.com"}
]},
{"answertext" : "an answer here", "answerlink": "", "answers": [
{"answertext": "answer text here", "answerlink": "http://google.com"},
{"answertext": "answer text here", "answerlink": "http://google.com"},
{"answertext": "answer text here", "answerlink": "http://google.com"},
{"answertext": "answer text here", "answerlink": "http://google.com"}
]},
{"answertext" : "an answer here", "answerlink": "", "answers": [
{"answertext": "answer text here", "answerlink": "http://google.com"},
{"answertext": "answer text here", "answerlink": "http://google.com"},
{"answertext": "answer text here", "answerlink": "http://google.com"},
{"answertext": "answer text here", "answerlink": "http://google.com"}
]}
]}
]
},
What is the best way to achieve this? Do I go down the route of building this json by using lots of string concatenation or is it feasible to use PHP’s built in JSON tools?
No. Never build JSON by mashing together strings.
Yes.
Build a data structure in PHP. There specifics of how you do that depend on where you are getting the data from in the first place.
When it is complete, pass it through
json_encode.