Curious what you mean by pleasant. JSON is not really "pretty" but it is simple, and powerful imo. Is it the boilerplate that puts you off?
I think if you want a simple serialization format to replace Make's syntax, s-expressions would be a better fit.
Regarding JSON, it is more verbose than Make. You need to use quote around strings, commands, everything. Compare:
foo.o: foo.c gcc -c foo.c
with
{ 'foo.o' => ['foo.c'; 'gcc -c foo.c'] }