Denis L
Denis L

Reputation: 121

From array to JSON

I am making parser of articles and I need to put all parsed data in josn. I tried to put them to array and then transform it in JSON, but I have some troubles. I get JSON like this:

[{"title":"title1"}][{"title":"title2"}][{"title":"title3"}]

But I want like this:

[{"title":"title1"},{"title":"title2"},{"title":"title3"}]

How I can do this?

<?

foreach ($content_prev as $el) {
    $pq = pq($el);
    $date = $pq->find('time')->html();
    $title = $pq->find('h3 a')->html();
    $link = $pq->find('h3 a')->attr('href');

    $data_link = file_get_contents($link);
    $document_с = phpQuery::newDocument($data_link);
    $content = $document_с->find('.td-post-content');

    $arr = array (
        array( 
            "title" => $title
        ), 
    ); 

    echo json_encode($arr, JSON_UNESCAPED_UNICODE);
}

Upvotes: 1

Views: 53

Answers (1)

HP371
HP371

Reputation: 852

Try to remove one array in $arr

Use below one.

<?
foreach ($content_prev as $el) {
    $pq = pq($el);
    $date = $pq->find('time')->html();
    $title = $pq->find('h3 a')->html();
    $link = $pq->find('h3 a')->attr('href');

    $data_link = file_get_contents($link);
    $document_с = phpQuery::newDocument($data_link);
    $content = $document_с->find('.td-post-content');

    $arr[] = array ( 
        "title" => $title
        );
}
echo json_encode($arr, JSON_UNESCAPED_UNICODE);

Upvotes: 2

Related Questions