Traditional web apps combine UI and data. That works fine when you have only one type of client and the aggregation of UI and data should happen on the server. In modern web and mobile apps there will likely be multiple clients consuming the same data. RESTful services provide a simple way to use the HTTP protocol to map verbs and paths to a resource / data. JSON is one way to serialize that data (turn it from objects in memory to something that can be transferred). XML is another way to serialize data. Most modern apps have chosen JSON because it is super simple and well supported by most technologies. The combination of REST and JSON is simple and supports a wide variety of server and client technologies.