From 010b714e7c4163b12d3fa1fae08869371c9452f2 Mon Sep 17 00:00:00 2001 From: Ritchie Vink Date: Sat, 5 Feb 2022 14:31:16 +0100 Subject: [PATCH] remove branch --- src/io/json/write/serialize.rs | 18 ++---------------- tests/it/io/json/write.rs | 2 +- 2 files changed, 3 insertions(+), 17 deletions(-) diff --git a/src/io/json/write/serialize.rs b/src/io/json/write/serialize.rs index e7a4a193051..b74e1c36302 100644 --- a/src/io/json/write/serialize.rs +++ b/src/io/json/write/serialize.rs @@ -46,7 +46,7 @@ fn utf8_serializer<'a, O: Offset>( array.iter(), |x, buf| { if let Some(x) = x { - utf8_serialize(x, buf) + serde_json::to_writer(buf, x).unwrap(); } else { buf.extend_from_slice(b"null") } @@ -136,20 +136,6 @@ fn list_serializer<'a, O: Offset>( )) } -#[inline] -fn utf8_serialize(value: &str, buf: &mut Vec) { - if value.as_bytes().is_ascii() && !value.contains('"') { - buf.reserve(value.len() + 2); - buf.push(b'"'); - buf.extend_from_slice(value.as_bytes()); - buf.push(b'"'); - } else { - // it may contain reserved keywords: perform roundtrip for - // todo: avoid this roundtrip over serde_json - serde_json::to_writer(buf, value).unwrap(); - } -} - fn new_serializer<'a>( array: &'a dyn Array, ) -> Box + 'a + Send + Sync> { @@ -188,7 +174,7 @@ fn serialize_item( buffer.push(b','); } first_item = false; - utf8_serialize(key, buffer); + serde_json::to_writer(&mut *buffer, key).unwrap(); buffer.push(b':'); buffer.extend(*value); } diff --git a/tests/it/io/json/write.rs b/tests/it/io/json/write.rs index fa61459944c..dc10fbff724 100644 --- a/tests/it/io/json/write.rs +++ b/tests/it/io/json/write.rs @@ -301,7 +301,7 @@ fn write_escaped_utf8() -> Result<()> { assert_eq!( String::from_utf8(buf).unwrap().as_bytes(), - b"{\"c1\":\"a\na\"}\n{\"c1\":null}\n" + b"{\"c1\":\"a\\na\"}\n{\"c1\":null}\n" ); Ok(()) }