<?php

$json = '{
    "title1": {
        "key1": "value1",
        "key2": "value2",
        "key3": "value3"
    },
    "title2": {
        "key1": "value1",
        "key2": "value2",
        "key3": "value3"      
    }
}';

$decodificado = json_decode($json);

if (!$decodificado) {
    die('JSON invalido');
}

$decodificado->title1->key2 = 'Novo valor FOO';
$decodificado->title2->key1 = 'Novo valor BAR';
$decodificado->title2->key3 = 'Novo valor BAZ';

print_r($decodificado);