json 2.7.5-java → 2.7.6-java
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGES.md +4 -0
- data/lib/json/pure/generator.rb +26 -7
- data/lib/json/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: bc7f91e45f97a190ae906fd62628096c4ca094ce9594fb847e4c85805f7b77a8
|
4
|
+
data.tar.gz: b7ef29eec1f9ef2aabecbe36d93efe0011356f030fc5ebc9daf6af0e2b2ab06d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1e9788d9a961fc4778bbf0c23fd29fa3f99357652c51e6377479238c9e15ab7bbf628e9f2d4a2255417fdf1ef341c8882c9bc81babdb85458038573bd3f79173
|
7
|
+
data.tar.gz: 26e5c02ca4ea4882b0c58b41eb23a53a8ba101625ed0b8bc444f21af50248c1ef185667c47b9c2f50433e335c135792709af8cf601af4e82bc92eb30f18962a6
|
data/CHANGES.md
CHANGED
data/lib/json/pure/generator.rb
CHANGED
@@ -301,19 +301,30 @@ module JSON
|
|
301
301
|
|
302
302
|
# Handles @allow_nan, @buffer_initial_length, other ivars must be the default value (see above)
|
303
303
|
private def generate_json(obj, buf)
|
304
|
-
|
305
|
-
|
304
|
+
klass = obj.class
|
305
|
+
if klass == Hash
|
306
306
|
buf << '{'
|
307
307
|
first = true
|
308
308
|
obj.each_pair do |k,v|
|
309
309
|
buf << ',' unless first
|
310
|
-
|
310
|
+
|
311
|
+
key_str = k.to_s
|
312
|
+
if key_str.is_a?(::String)
|
313
|
+
if key_str.class == ::String
|
314
|
+
fast_serialize_string(key_str, buf)
|
315
|
+
else
|
316
|
+
generate_json(key_str, buf)
|
317
|
+
end
|
318
|
+
else
|
319
|
+
raise TypeError, "#{k.class}#to_s returns an instance of #{key_str.class}, expected a String"
|
320
|
+
end
|
321
|
+
|
311
322
|
buf << ':'
|
312
323
|
generate_json(v, buf)
|
313
324
|
first = false
|
314
325
|
end
|
315
326
|
buf << '}'
|
316
|
-
|
327
|
+
elsif klass == Array
|
317
328
|
buf << '['
|
318
329
|
first = true
|
319
330
|
obj.each do |e|
|
@@ -322,9 +333,9 @@ module JSON
|
|
322
333
|
first = false
|
323
334
|
end
|
324
335
|
buf << ']'
|
325
|
-
|
336
|
+
elsif klass == String
|
326
337
|
fast_serialize_string(obj, buf)
|
327
|
-
|
338
|
+
elsif klass == Integer
|
328
339
|
buf << obj.to_s
|
329
340
|
else
|
330
341
|
# Note: Float is handled this way since Float#to_s is slow anyway
|
@@ -414,7 +425,15 @@ module JSON
|
|
414
425
|
each { |key, value|
|
415
426
|
result << delim unless first
|
416
427
|
result << state.indent * depth if indent
|
417
|
-
|
428
|
+
|
429
|
+
key_str = key.to_s
|
430
|
+
key_json = if key_str.is_a?(::String)
|
431
|
+
key_str = key_str.to_json(state)
|
432
|
+
else
|
433
|
+
raise TypeError, "#{key.class}#to_s returns an instance of #{key_str.class}, expected a String"
|
434
|
+
end
|
435
|
+
|
436
|
+
result = +"#{result}#{key_json}#{state.space_before}:#{state.space}"
|
418
437
|
if state.strict? && !(false == value || true == value || nil == value || String === value || Array === value || Hash === value || Integer === value || Float === value)
|
419
438
|
raise GeneratorError, "#{value.class} not allowed in JSON"
|
420
439
|
elsif value.respond_to?(:to_json)
|
data/lib/json/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: json
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.7.
|
4
|
+
version: 2.7.6
|
5
5
|
platform: java
|
6
6
|
authors:
|
7
7
|
- Daniel Luz
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-
|
11
|
+
date: 2024-11-04 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: A JSON implementation as a JRuby extension.
|
14
14
|
email: dev+ruby@mernen.com
|