Share via


SharePoint Online Columns Formatting Using JSON

Introduction

 

In this article, we will explore No Code Column Formatting in SharePoint Online. SharePoint Online Column formatting is easier to use and an OOTB resolution to the problem statement. However, it is less flexible because it does not allow custom code solutions, it only allows for certain predefined elements, classes, and attributes.

 

In SharePoint online Column formatting users can easily find list item value to change styling based on conditions, such as applying different colors on item value, placing indicator icon, formatting data in a bar chart, etc.

 

Column formatting works with JSON structure, below are the common nodes in JSON used to change styling and branding of list item values.

 

Common Nodes in JSON

  • elmType – Specifies the element type like DIV, span, A
  • debugMode - An optional property that is meant for debugging
  • attributes - An optional property that specifies additional attributes to add to the element
  • class – Specifies the predefined class for style and action
  • operator - Specify the type of operation to perform like =, -, +, <, >, <=, etc…
  • operands - Specifies the parameters or operands for an expression

Scenario

 

User has created the "ICC world cup Team Modern SharePoint List “. In the list, an item of specific column value is showing the Country-wise flag icon without code formatting the column content.

 

Objective

 

We achieve the expected result using SharePoint online new feature Column formatting list item value of specific Column Using JSON.

 

How to Apply Column Formatting in a Specific Column?

 

Navigate to your SharePoint 2013 site -> open SharePoint list -> Follow the numerical point as shown in the below screenshot.

 

https://www.c-sharpcorner.com/article/sharepoint-online-columns-formatting-using-json/Images/SharePoint%20Online%20Columns%20Formatting%20Using%20JSON.png

{  
  "$schema": "https://developer.microsoft.com/json-schemas/sp/column-formatting.schema.json",  
  "elmType": "div",   
  "children": [  
    {  
      "elmType": "img",   
      "attributes": {  
        "src": "='https://flagpedia.net/data/flags/h20/'+if(@currentField == 'Afghanistan','af',if(@currentField == 'West Indies','jm',if(@currentField == 'Sri Lanka','lk',if(@currentField == 'South Africa','za',if(@currentField == 'Pakistan','pk',if(@currentField == 'New Zealand','nz',if(@currentField == 'India','in',if(@currentField == 'England','gb',if(@currentField == 'Bangladesh','bd',if(@currentField == 'Australia','au','in'))))))))))+ '.png'",  
        "title": "=if(@currentField == 'Afghanistan','Afghanistan',if(@currentField == 'West Indies','West Indies',if(@currentField == 'Sri Lanka','Sri Lanka',if(@currentField == 'South Africa','South Africa',if(@currentField == 'Pakistan','Pakistan',if(@currentField == 'New Zealand','New Zealand',if(@currentField == 'India','India',if(@currentField == 'England','England',if(@currentField == 'Bangladesh','Bangladesh',if(@currentField == 'Australia','Australia','India'))))))))))" 
      }  
    }  
  ]  
}

After adding the JSON and clicking the save button then we see the preview output of the result.

 

Get the flag codes table. To do so, copy & paste this whole table with the flag codes from Github.

 

Final Output

 

Before applying the column formatting Screen

 

https://www.c-sharpcorner.com/article/sharepoint-online-columns-formatting-using-json/Images/SharePoint%20Online%20Columns%20Formatting%20Using%20JSON2.png

 

After applying the column formatting Screen

 

https://www.c-sharpcorner.com/article/sharepoint-online-columns-formatting-using-json/Images/SharePoint%20Online%20Columns%20Formatting%20Using%20JSON3.png

 

Limitations and Predefined OOTB Classes

 

Supported column types

 

Sr.No Supported Column Format List Un- Supported Column Format List
1. Single line of text Managed Metadata
2. Number Filename (in Document Libraries)
3. Choice Calculated
4. Person or Group Retention Label
5. Yes/No Currency
6. Hyperlink Managed Metadata
7. Picture Filename (in Document Libraries)
8. Date/Time  
9. Lookup  
10. Title (in Lists)  

 

Currently Available OOTB Predefined classes

 

https://www.c-sharpcorner.com/article/sharepoint-online-columns-formatting-using-json/Images/SharePoint%20Online%20Columns%20Formatting%20Using%20JSON4.png

 

For more details, please refer to this link.