thrifty-runtime/src/main/java/com/microsoft/thrifty/protocol/JsonProtocol.java
private double readJsonDouble() throws IOException {
        context.read();
        if (reader.peek() == QUOTE[0]) {
            ByteString str = readJsonString(true);
            double dub = Double.valueOf(str.utf8());
            if (!context.escapeNum() && !Double.isNaN(dub)
                    && !Double.isInfinite(dub)) {
                // Throw exception -- we should not be in a string in this case
                throw new ProtocolException("Numeric data unexpectedly quoted");
            }
            return dub;
        } else {
            if (context.escapeNum()) {
                // This will throw - we should have had a quote if escapeNum == true
                readJsonSyntaxChar(QUOTE);
            }
            try {
                return Double.valueOf(readJsonNumericChars());
            } catch (NumberFormatException ex) {
                throw new ProtocolException("Bad data encountered in numeric data");
            }
        }
    }
private double readJsonDouble() throws IOException {
        context.read();
        if (reader.peek() == QUOTE[0]) {
            ByteString str = readJsonString(true);
            double dub = Double.valueOf(str.utf8());
            if (!context.escapeNum() && !Double.isNaN(dub)
                    && !Double.isInfinite(dub)) {
                // Throw exception -- we should not be in a string in this case
                throw new ProtocolException("Numeric data unexpectedly quoted");
            }
            return dub;
        } else {
            if (context.escapeNum()) {
                // This will throw - we should have had a quote if escapeNum == true
                readJsonSyntaxChar(QUOTE);
            }
            try {
                return Double.valueOf(readJsonNumericChars());
            } catch (NumberFormatException ex) {
                throw new ProtocolException("Bad data encountered in numeric data");
            }
        }
    }
private double readJsonDouble ( ) throws IOException { context . read ( ) ; if ( reader . peek ( ) == QUOTE [ 0 ] ) { ByteString str = readJsonString ( true ) ; double dub = Double . valueOf ( str . utf8 ( ) ) ; if ( ! context . escapeNum ( ) && ! Double . isNaN ( dub ) && ! Double . isInfinite ( dub ) ) { // Throw exception -- we should not be in a string in this case throw new ProtocolException ( "Numeric data unexpectedly quoted" ) ; } return dub ; } else { if ( context . escapeNum ( ) ) { // This will throw - we should have had a quote if escapeNum == true readJsonSyntaxChar ( QUOTE ) ; } try { return Double . valueOf ( readJsonNumericChars ( ) ) ; } catch ( NumberFormatException ex ) { throw new ProtocolException ( "Bad data encountered in numeric data" ) ; } } }
when expected or if wrapped in quotes when not expected.
when expected or if wrapped in quotes when not expected .