Add json encode/decode for php. (#3226)
* Add json encode/decode for php.
* Fix php conformance test on 32-bit machines.
* Fix conformance test for c extension.
* Fix comments
diff --git a/conformance/conformance_php.php b/conformance/conformance_php.php
index 20fb508..d5e9125 100755
--- a/conformance/conformance_php.php
+++ b/conformance/conformance_php.php
@@ -53,7 +53,7 @@
}
} elseif ($request->getPayload() == "json_payload") {
try {
- $test_message->jsonDecode($request->getJsonPayload());
+ $test_message->mergeFromJsonString($request->getJsonPayload());
} catch (Exception $e) {
$response->setParseError($e->getMessage());
return $response;
@@ -67,7 +67,7 @@
} elseif ($request->getRequestedOutputFormat() == WireFormat::PROTOBUF) {
$response->setProtobufPayload($test_message->serializeToString());
} elseif ($request->getRequestedOutputFormat() == WireFormat::JSON) {
- $response->setJsonPayload($test_message->jsonEncode());
+ $response->setJsonPayload($test_message->serializeToJsonString());
}
return $response;
@@ -79,7 +79,8 @@
if (strlen($length_bytes) == 0) {
return false; # EOF
} elseif (strlen($length_bytes) != 4) {
- trigger_error("I/O error", E_USER_ERROR);
+ fwrite(STDERR, "I/O error\n");
+ return false;
}
$length = unpack("V", $length_bytes)[1];