簡體   English   中英

在SSRS報告中顯示格式化的JSON

[英]Display formatted JSON in SSRS report

我有一個表,其中一個字段是JSON字符串。

“CX.UW.001”:“03/08/2017”,“CX.UW.001.AUDIT”:“admin”,

我想制作一份SSRS報告,其中的可讀格式如下:

CX.UW.001: 03/08/2017
CX.UW.001.AUDIT: admin 

可能嗎?

右鍵單擊該字段,選擇expression ,從Common Functions類別中找到Text ,使用Replace函數,應該是如下語法:

Replace (Fields!Yours.Value.Value,"""","")

或者在TSQL中:

Select Replace(JSON_COLUMN,'"','')
From table

如果您正在尋找多個記錄,幾乎任何解析/拆分功能都可以,或者您可以使用簡單的CROSS APPLY與一點XML一起使用

Declare @YourTable table (ID int, JSON varchar(max))
Insert Into @YourTable values
(1,'"CX.UW.001": "03/08/2017", "CX.UW.001.AUDIT": "admin"')

Select A.ID
      ,DisplayAs = replace(B.RetVal,'"','')
 From  @YourTable A
 Cross Apply (
                Select RetSeq = Row_Number() over (Order By (Select null))
                      ,RetVal = LTrim(RTrim(B.i.value('(./text())[1]', 'varchar(max)')))
                From  (Select x = Cast('<x>' + replace((Select replace(A.JSON,',','§§Split§§') as [*] For XML Path('')),'§§Split§§','</x><x>')+'</x>' as xml).query('.')) as X
                Cross Apply x.nodes('x') AS B(i)
             ) B

返回

ID  DisplayAs
1   CX.UW.001: 03/08/2017
1   CX.UW.001.AUDIT: admin

或者如果你想要字符串換行

Select A.ID
      ,DisplayAs = replace(replace(JSON,',',char(13)),'"','')
 From  @YourTable A

返回

1   CX.UW.001: 03/08/2017
    CX.UW.001.AUDIT: admin

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM