I'm not sure what you mean by unnecessary backslashes, iirc they are necessary. As for removing the opening tag... You might try var_dumping $response and making sure it still has them, and my little test script worked just fine:
<?php
$a = array(
'name' => 'some category name',
'days' => 123,
'purpose' => '<option value=1>Title1</option><option value=2>Title2</option>'
);
echo json_encode($a);
{"name":"some category name","days":123,"purpose":"<option value=1>Title1<\/option><option value=2>Title2<\/option>"}
When I then JSON.parse in a browser or json_decode in php that string, I get the expected </option> in the resulting string, so the added \ is removed. If you're really concerned about the added slashes there, you could pass the JSON_UNESCAPED_SLASHES option as the second argument to json_encode (however, I make no promises this won't cause any problems down the road).