Support Json array value in log data

Array can be shipped now.
Because arrayValue.asString() raise an exception, change it to
FastWriter

Test: m -j netd
Test: check whether array data in log shows properly
Bug: 127187108
Change-Id: Ie610ea59c499a7e636a21b4e2ff915dc247fac58
diff --git a/server/NetdNativeService.cpp b/server/NetdNativeService.cpp
index 1b537eb..043dc17 100644
--- a/server/NetdNativeService.cpp
+++ b/server/NetdNativeService.cpp
@@ -34,6 +34,7 @@
 #include <binder/IServiceManager.h>
 
 #include <json/value.h>
+#include <json/writer.h>
 #include <openssl/base64.h>
 
 #include "Controllers.h"
@@ -170,8 +171,10 @@
         output.append(logTransaction["method_name"].asString().c_str() + std::string("("));
 
         // input args
+        Json::FastWriter fastWriter;
+        fastWriter.omitEndingLineFeed();
         for (Json::Value::Members::iterator iter = member.begin(); iter != member.end(); ++iter) {
-            std::string value = inputArgs[(*iter).c_str()].asString();
+            std::string value = fastWriter.write(inputArgs[(*iter).c_str()]);
             if (value.empty()) value = std::string("null");
             output.append(value);
             if (iter != member.end() - 1) {
@@ -181,7 +184,7 @@
         output.append(std::string(")"));
         // return args
         if (hasReturnArgs) {
-            output.append(StringPrintf(" -> (%s)", returnArgs.asString().c_str()));
+            output.append(StringPrintf(" -> (%s)", fastWriter.write(returnArgs).c_str()));
         }
         // duration time
         output.append(StringPrintf(" <%sms>", logTransaction["duration_ms"].asString().c_str()));