summaryrefslogtreecommitdiff
path: root/lib/json/pure/parser.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/json/pure/parser.rb')
-rw-r--r--lib/json/pure/parser.rb6
1 files changed, 4 insertions, 2 deletions
diff --git a/lib/json/pure/parser.rb b/lib/json/pure/parser.rb
index b2e841b..f02f408 100644
--- a/lib/json/pure/parser.rb
+++ b/lib/json/pure/parser.rb
@@ -130,8 +130,10 @@ module JSON
raise TypeError,
"#{source.inspect} is not like a string"
end
- source = source.encode(::Encoding::UTF_8)
- source.force_encoding(::Encoding::ASCII_8BIT)
+ if source.encoding != ::Encoding::ASCII_8BIT
+ source = source.encode(::Encoding::UTF_8)
+ source.force_encoding(::Encoding::ASCII_8BIT)
+ end
source
end