Json form data coming improper

那年仲夏 提交于 2019-12-11 04:54:52

问题


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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!