This purely programming related question is a better fit for StackOverflow. If possible, please add some Open Data related aspects to your question.
– Patrick Hoefler♦Jan 16 '15 at 10:26

StackOverflow does not care about reusability. Also, StackOverflow is for programming question, and recently frowns upon any new question that does not contain source code. JSON is not source code, it is data.
– Nicolas RaoulJan 16 '15 at 10:52

1 As Walter Tross pointed out in the comments, there are edge cases when rounding errors can occur. For example, if you have a product that costs 456789.99, it might happen that the computer program that reads your JSON will actually calculate the price as 456790.00. There is currently no simple solution for this problem. If you think this might be relevant for you, you might want to read up on some related discussions and the general problem of the precision of floating point numbers.

Prices as numbers is ok if you know how many decimal digits you need when converting the numbers back to strings, and if there are not too many digits, including decimal digits (max: ca. 7 for single precision, ca. 16 for double precision). If any of these conditions is not met, strings are a better choice.
– Walter TrossJan 28 '15 at 22:50

Now I'm curious: Could you please provide a realistic example of a product price that could or should not be encoded as a JSON number?
– Patrick Hoefler♦Jan 28 '15 at 23:04

If you use single precision floats (32 bits IEEE 754 floating point numbers, quite common), 1234567.89 gets converted back to string as 1234567.88 (I just checked).
– Walter TrossJan 28 '15 at 23:16