File tree Expand file tree Collapse file tree 2 files changed +63
-1
lines changed Expand file tree Collapse file tree 2 files changed +63
-1
lines changed Original file line number Diff line number Diff line change @@ -68,7 +68,16 @@ public function toJson($inner = false)
68
68
foreach (static ::$ map as $ key => $ item ) {
69
69
$ property = lcfirst (self ::toCamelCase ($ key ));
70
70
if (!is_null ($ this ->$ property )) {
71
- $ output [$ key ] = $ item === true ? $ this ->$ property : $ this ->$ property ->toJson (true );
71
+ if (is_array ($ this ->$ property )) {
72
+ $ output [$ key ] = array_map (
73
+ function ($ v ) {
74
+ return is_object ($ v ) ? $ v ->toJson (true ) : $ v ;
75
+ },
76
+ $ this ->$ property
77
+ );
78
+ } else {
79
+ $ output [$ key ] = $ item === true ? $ this ->$ property : $ this ->$ property ->toJson (true );
80
+ }
72
81
}
73
82
}
74
83
Original file line number Diff line number Diff line change @@ -797,4 +797,57 @@ public function testGetMigrateFromChatId()
797
797
798
798
$ this ->assertEquals (3 , $ item ->getMigrateFromChatId ());
799
799
}
800
+
801
+ public function testToJson1 ()
802
+ {
803
+ $ data = array (
804
+ 'message_id ' => 1 ,
805
+ 'from ' => array (
806
+ 'first_name ' => 'Ilya ' ,
807
+ 'last_name ' => 'Gusev ' ,
808
+ 'id ' => 123456 ,
809
+ 'username ' => 'iGusev '
810
+ ),
811
+ 'date ' => 2 ,
812
+ 'chat ' => array (
813
+ 'id ' => 1 ,
814
+ 'type ' => 'group ' ,
815
+ 'title ' => 'test chat '
816
+ ),
817
+ 'migrate_from_chat_id ' => 3
818
+ );
819
+
820
+ $ item = Message::fromResponse ($ data );
821
+ $ this ->assertJson (json_encode ($ data ), $ item ->toJson ());
822
+ }
823
+
824
+ public function testToJson2 ()
825
+ {
826
+ $ data = array (
827
+ 'message_id ' => 1 ,
828
+ 'from ' => array (
829
+ 'first_name ' => 'Ilya ' ,
830
+ 'last_name ' => 'Gusev ' ,
831
+ 'id ' => 123456 ,
832
+ 'username ' => 'iGusev '
833
+ ),
834
+ 'date ' => 2 ,
835
+ 'chat ' => array (
836
+ 'id ' => 1 ,
837
+ 'type ' => 'group ' ,
838
+ 'title ' => 'test chat '
839
+ ),
840
+ 'entities ' => array (
841
+ array (
842
+ "type " => "bot_command " ,
843
+ "offset " => 0 ,
844
+ "length " => 7 ,
845
+ )
846
+ ),
847
+ 'migrate_from_chat_id ' => 3
848
+ );
849
+
850
+ $ item = Message::fromResponse ($ data );
851
+ $ this ->assertJson (json_encode ($ data ), $ item ->toJson ());
852
+ }
800
853
}
You can’t perform that action at this time.
0 commit comments