diff --git a/lib/internal/Magento/Framework/Serialize/Serializer/Json.php b/lib/internal/Magento/Framework/Serialize/Serializer/Json.php
index 009fee5e3639f5ab5cd8cf9e1031f4a4129d98b4..bf7a34c21fbdda039b02792951b7d10cd4013987 100644
--- a/lib/internal/Magento/Framework/Serialize/Serializer/Json.php
+++ b/lib/internal/Magento/Framework/Serialize/Serializer/Json.php
@@ -7,6 +7,10 @@ namespace Magento\Framework\Serialize\Serializer;
 
 use Magento\Framework\Serialize\SerializerInterface;
 
+/**
+ * Class for serializing data to json string and unserializing json string to data
+ *
+ */
 class Json implements SerializerInterface
 {
     /**
diff --git a/lib/internal/Magento/Framework/Serialize/SerializerInterface.php b/lib/internal/Magento/Framework/Serialize/SerializerInterface.php
index 1dc70da80f39455690d34e750b07b9270c2d8d5e..f7a15b31a826e004541434a6ec6b4b30863ba9c3 100644
--- a/lib/internal/Magento/Framework/Serialize/SerializerInterface.php
+++ b/lib/internal/Magento/Framework/Serialize/SerializerInterface.php
@@ -5,6 +5,9 @@
  */
 namespace Magento\Framework\Serialize;
 
+/**
+ * Interface for serializing
+ */
 interface SerializerInterface
 {
     /**
diff --git a/lib/internal/Magento/Framework/Serialize/Test/Unit/Serializer/JsonTest.php b/lib/internal/Magento/Framework/Serialize/Test/Unit/Serializer/JsonTest.php
index 38fa7d2a66f7f179a93bd11f45a35a996f937fe8..88e06d89e3763d36a1301b595942a513359ce076 100644
--- a/lib/internal/Magento/Framework/Serialize/Test/Unit/Serializer/JsonTest.php
+++ b/lib/internal/Magento/Framework/Serialize/Test/Unit/Serializer/JsonTest.php
@@ -5,6 +5,7 @@
  */
 namespace Magento\Framework\Serialize\Test\Unit\Serializer;
 
+use Magento\Framework\DataObject;
 use Magento\Framework\Serialize\Serializer\Json;
 
 class JsonTest extends \PHPUnit_Framework_TestCase
@@ -21,25 +22,57 @@ class JsonTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * @param null|bool|array $value
-     * @dataProvider serializeUnserializeDataProvider
+     * @param string|int|float|bool|array|null $value
+     * @param string $expected
+     * @dataProvider serializeDataProvider
      */
-    public function testSerializeUnserialize($value)
+    public function testSerialize($value, $expected)
     {
         $this->assertEquals(
-            $this->json->unserialize($this->json->serialize($value)),
-            $value
+            $expected,
+            $this->json->serialize($value)
         );
     }
 
-    public function serializeUnserializeDataProvider()
+    public function serializeDataProvider()
     {
+        $dataObject = new DataObject(['something']);
         return [
-            [''],
-            ['string'],
-            [null],
-            [false],
-            [['a' => 'b']],
+            ['', '""'],
+            ['string', '"string"'],
+            [null, 'null'],
+            [false, 'false'],
+            [['a' => 'b', 'd' => 123], '{"a":"b","d":123}'],
+            [123, '123'],
+            [10.56, '10.56'],
+            [$dataObject, '{}'],
+        ];
+    }
+
+    /**
+     * @param string $value
+     * @param string|int|float|bool|array|null $expected
+     * @dataProvider unserializeDataProvider
+     */
+    public function testUnserialize($value, $expected)
+    {
+        $this->assertEquals(
+            $expected,
+            $this->json->unserialize($value)
+        );
+    }
+
+    public function unserializeDataProvider()
+    {
+        return [
+            ['""', ''],
+            ['"string"', 'string'],
+            ['null', null],
+            ['false', false],
+            ['{"a":"b","d":123}', ['a' => 'b', 'd' => 123]],
+            ['123', 123],
+            ['10.56', 10.56],
+            ['{}', []],
         ];
     }
 }