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, so that the output is consistent with the `res.jsonValue`.

Tested: 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>
Change-Id: Ie97378a2cffce7b1fd6586a56b6cfa7d5c476dc1
diff --git a/http/http_connection.hpp b/http/http_connection.hpp
index d5d02e5..47f9432 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_null())
         {
             using http_helpers::ContentType;
             std::array<ContentType, 3> allowed{