http_connection: Allow empty json objects

Currently http_connection will produce empty body in the response if the
res.jsonValue is empty, including empty array, object.

This makes the output confusing in case a response does contain an empty
object or array.

Change the code to print the json object even if it's empty object or
array.

This patchset was previously reverted because of a regression, but this
regression is fixed in 63529.

Tested on previous commit: With an OEM URL that returns empty array
depending on the system config, the response becomes `[]` instead of
empty.

Signed-off-by: Lei YU <yulei.sh@bytedance.com>
Signed-off-by: Ed Tanous <edtanous@google.com>
Change-Id: I1d1bf01a5277ff1bc953b15d9fc410e10f941e70
diff --git a/http/http_connection.hpp b/http/http_connection.hpp
index 24af031..2139602 100644
--- a/http/http_connection.hpp
+++ b/http/http_connection.hpp
@@ -342,7 +342,7 @@
 
         res.setHashAndHandleNotModified();
 
-        if (res.body().empty() && !res.jsonValue.empty())
+        if (res.body().empty() && res.jsonValue.is_structured())
         {
             using http_helpers::ContentType;
             std::array<ContentType, 3> allowed{