问题
I have created rest api for getting categories and sub-categories using recursion technique. Here is my code:-
public function getNodeChildrenData(Varien_Data_Tree_Node $node)
{
$data = array(
'title' => $node->getData('name'),
'url' => $node->getData('url_key'),
);
foreach ($node->getChildren() as $childNode) {
if (!array_key_exists('children', $data)) {
$data['children'] = array();
}
$data['children'][$childNode->getData('entity_id')] = $this->getNodeChildrenData($childNode);
}
return $data;
}
public function getCategoryTree($recursionLevel, $storeId = 1)
{
$parent = Mage::app()->getStore()->getRootCategoryId();
$tree = Mage::getResourceModel('catalog/category_tree');
/* @var $tree Mage_Catalog_Model_Resource_Category_Tree */
$nodes = $tree->loadNode($parent)
->loadChildren($recursionLevel)
->getChildren();
$tree->addCollectionData(null, false, $parent);
$categoryTreeData = array();
foreach ($nodes as $node) {
$categoryTreeData[$node->getData('entity_id')] = $this->getNodeChildrenData($node);
}
return $categoryTreeData;
}
public function _retrieveCollection()
{
$cur_category = array();
$cur_category[] = $this->getCategoryTree(2);
return json_encode($cur_category);
}
The result which I am getting is in the following format:-
"[{
\"1\": {
\"title\":\"Root Catalog\",\"url\":null,\"children\":{
\"2\":{
\"title\":\"Electronics\",\"url\":null, \"children\":{
\"3\":{\"title\":\"Laptops\",\"url\":\"laptops\"}
}
},
\"4\":{
\"title\":\"Men\",\"url\":\"apparels\",\"children\":{
\"9\":{\"title\":\"Formal Mens Jeans\",\"url\":\"formal-mens-jeans\"}
}
},
\"5\":{\"title\":\"Women\",\"url\":\"women\"},
\"6\":{\"title\":\"Baby & Kids\",\"url\":\"baby-kids\"},
\"7\":{\"title\":\"Home & Furniture\",\"url\":\"home-furniture\"}
}
}
}]"
Can you please tell me where I am getting wrong.
来源:https://stackoverflow.com/questions/36743627/json-form-data-coming-improper