Whether it is best for you will depend on your priorities, such as, speed, or flexibility.
I had moved a C# application to use JSON because speed was the most important issue for me. I would serialize the data myself on the server and remove anything redundant, such as the name of each property in order to speed up my transfer, and I found that time to send a request to the server, get the response and process was faster with JSON than using a webservice or returning XML.
To deserialize, from C#, you have several options at http://json.org.
So, before you decide to make the change you should have some unit tests and then get some numbers, by making the same client -> server -> client call about 100 times, to get better results.
You should have all the tests in the same test class so the tests can run straight through, to reduce the chance that the server load will issues.
If you will need the flexibility of sorting or processing in other ways, such as using XML LINQ, then you either convert the information to a list and use LINQ, but, again, you may want to add tests to see what the impact of this would be, on your application.
Basically, I believe that if you have time, before making any architectural changes test first, and then decide if making the change makes sense, based on the numbers.