It depends.
Option A is the more strict, disciplined, and formal way. Yet, again like you said it may be overkill. How fat is that json? Long term, Option A leaves the future potential possibility that you may need to use more than one property.
Option B is definitely more informal and straight forward. It will definitely work today, but may require a different solution in the future.
Thus, maybe you would want to wrap the entire process in a method to hide the implementation from the calling client. Return your custom object with only the lone property populated. Then, if the need arises in the future you can change the method to utilize full tilt deserialization.
Note: I do not think deserialization to an anonymous type in C# 3.5 is possible.