try native json parsing first