28 parent::__construct( $text, $modelId );
40 if ( $this->jsonParse ===
null ) {
41 $this->jsonParse = FormatJson::parse( $this->
getText() );
50 return $this->
getData()->isGood();
61 return FormatJson::encode( $this->
getData()->getValue(),
true, FormatJson::UTF8_OK );
96 if ( $generateHtml && $this->
isValid() ) {
113 if ( is_object( $val ) ) {
117 if ( is_array( $val ) ) {
123 return Html::rawElement(
'table', [
'class' =>
'mw-json mw-json-single-value' ],
124 Html::rawElement(
'tbody', [],
125 Html::rawElement(
'tr', [],
142 foreach ( $mapping as $key => $val ) {
143 $rows[] = $this->
objectRow( $key, $val );
147 $rows[] = Html::rawElement(
'tr', [],
148 Html::element(
'td', [
'class' =>
'mw-json-empty' ],
149 wfMessage(
'content-json-empty-object' )->text()
153 return Html::rawElement(
'table', [
'class' =>
'mw-json' ],
154 Html::rawElement(
'tbody', [], implode(
'', $rows ) )
166 $thContent = Html::element(
'span', [], $key );
167 $th = Html::rawElement(
'th', [], $thContent );
169 return Html::rawElement(
'tr', [], $th . $td );
182 foreach ( $mapping as $val ) {
187 $rows[] = Html::rawElement(
'tr', [],
188 Html::element(
'td', [
'class' =>
'mw-json-empty' ],
189 wfMessage(
'content-json-empty-array' )->text()
193 return Html::rawElement(
'table', [
'class' =>
'mw-json' ],
194 Html::rawElement(
'tbody', [], implode(
"\n", $rows ) )
206 return Html::rawElement(
'tr', [], $td );
216 if ( is_object( $val ) ) {
217 return Html::rawElement(
'td', [], $this->
objectTable( $val ) );
220 if ( is_array( $val ) ) {
221 return Html::rawElement(
'td', [], $this->
arrayTable( $val ) );
224 return Html::element(
'td', [
'class' =>
'mw-json-value' ], $this->
primitiveValue( $val ) );
234 if ( is_string( $val ) ) {
237 return '"' . $val .
'"';
239 return FormatJson::encode( $val );
wfMessage( $key,... $params)
This is the function for getting translated interface messages.
Represents the content of a JSON content.
objectRow( $key, $val)
Create HTML table row representing one object property.
objectTable( $mapping)
Create HTML table representing a JSON object.
valueCell( $val)
Construct HTML table cell representing any JSON value.
arrayRow( $val)
Create HTML table row representing the value in an array.
primitiveValue( $val)
Construct text representing a JSON primitive value.
preSaveTransform(Title $title, User $user, ParserOptions $popts)
Beautifies JSON prior to save.
__construct( $text, $modelId=CONTENT_MODEL_JSON)
fillParserOutput(Title $title, $revId, ParserOptions $options, $generateHtml, ParserOutput &$output)
Set the HTML and add the appropriate styles.
beautifyJSON()
Pretty-print JSON.
rootValueTable( $val)
Construct HTML table representation of any JSON value.
getData()
Decodes the JSON string.
arrayTable( $mapping)
Create HTML table representing a JSON array.
Set options of the Parser.
addModuleStyles( $modules)
Generic operation result class Has warning/error list, boolean status and arbitrary value.
Content object implementation for representing flat text.
getText()
Returns the text represented by this Content object, as a string.
static normalizeLineEndings( $text)
Do a "\\r\\n" -> "\\n" and "\\r" -> "\\n" transformation as well as trim trailing whitespace.
Represents a title within MediaWiki.
The User object encapsulates all of the user-specific settings (user_id, name, rights,...