39 parent::__construct( $text, $modelId );
51 $this->jsonParse ??= FormatJson::parse( $this->
getText() );
59 return $this->
getData()->isGood();
70 return FormatJson::encode( $this->
getData()->getValue(),
"\t", FormatJson::UTF8_OK );
82 if ( is_object( $val ) ) {
86 if ( is_array( $val ) ) {
92 return Html::rawElement(
'table', [
'class' =>
'mw-json mw-json-single-value' ],
93 Html::rawElement(
'tbody', [],
94 Html::rawElement(
'tr', [],
111 foreach ( $mapping as $key => $val ) {
112 $rows[] = $this->
objectRow( $key, $val );
116 $rows[] = Html::rawElement(
'tr', [],
118 wfMessage(
'content-json-empty-object' )->text()
122 return Html::rawElement(
'table', [
'class' =>
'mw-json' ],
123 Html::rawElement(
'tbody', [], implode(
'', $rows ) )
136 $th = Html::rawElement(
'th', [], $thContent );
138 return Html::rawElement(
'tr', [], $th . $td );
151 foreach ( $mapping as $val ) {
156 $rows[] = Html::rawElement(
'tr', [],
158 wfMessage(
'content-json-empty-array' )->text()
162 return Html::rawElement(
'table', [
'class' =>
'mw-json' ],
163 Html::rawElement(
'tbody', [], implode(
"\n", $rows ) )
175 return Html::rawElement(
'tr', [], $td );
185 if ( is_object( $val ) ) {
186 return Html::rawElement(
'td', [], $this->
objectTable( $val ) );
189 if ( is_array( $val ) ) {
190 return Html::rawElement(
'td', [], $this->
arrayTable( $val ) );
203 if ( is_string( $val ) ) {
206 return '"' . $val .
'"';
208 return FormatJson::encode( $val );
212class_alias( JsonContent::class,
'JsonContent' );
wfMessage( $key,... $params)
This is the function for getting translated interface messages.
JSON text content that can be viewed and edit directly by users.
primitiveValue( $val)
Construct text representing a JSON primitive value.
beautifyJSON()
Pretty-print JSON.
rootValueTable( $val)
Construct HTML table representation of any JSON value.
arrayTable( $mapping)
Create HTML table representing a JSON array.
getData()
Decodes the JSON string.
__construct( $text, $modelId=CONTENT_MODEL_JSON)
objectTable( $mapping)
Create HTML table representing a JSON object.
arrayRow( $val)
Create HTML table row representing the value in an array.
valueCell( $val)
Construct HTML table cell representing any JSON value.
objectRow( $key, $val)
Create HTML table row representing one object property.
Content object implementation for representing flat text.
getText()
Returns the text represented by this Content object, as a string.