Intern static string
Use float constructors instead of magic code for float constants
diff --git a/Lib/json/decoder.py b/Lib/json/decoder.py
index acaee25..e80b935 100644
--- a/Lib/json/decoder.py
+++ b/Lib/json/decoder.py
@@ -14,17 +14,7 @@
 
 FLAGS = re.VERBOSE | re.MULTILINE | re.DOTALL
 
-
-def _floatconstants():
-    import struct
-    import sys
-    _BYTES = '7FF80000000000007FF0000000000000'.decode('hex')
-    if sys.byteorder != 'big':
-        _BYTES = _BYTES[:8][::-1] + _BYTES[8:][::-1]
-    nan, inf = struct.unpack('dd', _BYTES)
-    return nan, inf, -inf
-
-NaN, PosInf, NegInf = _floatconstants()
+NaN, PosInf, NegInf = float('nan'), float('inf'), float('-inf')
 
 
 def linecol(doc, pos):