2017-02-23 13 views
0

次のJsonファイルを別の形式に変換します。新しい形式は以下のとおりです。 これにJson Parsingを使用できますか?正規表現を使用してjson文字列を変更することもできます。JsonデシリアライザまたはRegexまたはJsonの解析でJsonの文字列を変換する#

カスタムjsonデシリアライザを使用することもできます。誰かがこれを行う簡単な方法で私を助けることができますか?

現在の形式

{ 
"PRETEST": 
{"response": 
{"a":{"source":"VeD","name":"a","value":null}, 
"b":{"source":"VeD","name":"b","value":"2XX"}, 
"c":{"source":"VeD","name":"c","value":"4933011630372431565180"}, 
"d":{"source":"VeD","name":"d","value":null}, 
"e":{"source":"VeD","name":"e","value":"EHD453REN00000004"}, 
"f":{"source":"VeD","name":"f","value":"HU55"}, 
"g":{"source":"VeD","name":"g","value":"453"}, 
"h":{"source":"VeD","name":"h","value":null}, 
"i":{"source":"VeD","name":"i","value":null}}, 
"httpcode":200}, 
"TEST": 
{"response": 
{"a":{"source":"VeD","name":"a","value":null}, 
"b":{"source":"VeD","name":"b","value":"3XX"}, 
"c":{"source":"VeD","name":"c","value":"5933011630372431565180"}, 
"d":{"source":"VeD","name":"d","value":null}, 
"e":{"source":"VeD","name":"e","value":"FHD453REN00000004"}, 
"f":{"source":"VeD","name":"f","value":"HU55"}, 
"g":{"source":"VeD","name":"g","value":"433"}, 
"h":{"source":"VeD","name":"h","value":null}, 
"i":{"source":"VeD","name":"i","value":null}}, 
"httpcode":200}, 
"INT": 
{"response": 
{"a":{"source":"VeD","name":"a","value":null}, 
"b":{"source":"VeD","name":"b","value":"4XX"}, 
"c":{"source":"VeD","name":"c","value":"1933011630372431565180"}, 
"d":{"source":"VeD","name":"d","value":null}, 
"e":{"source":"VeD","name":"e","value":"KHD453REN00000004"}, 
"f":{"source":"VeD","name":"f","value":"KU55"}, 
"g":{"source":"VeD","name":"g","value":"253"}, 
"h":{"source":"VeD","name":"h","value":null}, 
"i":{"source":"VeD","name":"i","value":null}}, 
"httpcode":200}} 

新しいフォーマット

{ 
"PRETEST": 
{"response": 
{"a"null, 
"b":"2XX", 
"c":"4933011630372431565180", 
"d"::null, 
"e":"EHD453REN00000004", 
"f":"HU55", 
"g":"453", 
"h"::null, 
"i"::null}, 
"httpcode":200}, 
"TEST": 
{"response": 
{"a":null, 
"b""3XX" 
"c":"5933011630372431565180", 
"d":null, 
"e""FHD453REN00000004", 
"f""HU55", 
"g""433", 
"h":null, 
"i":null}, 
"httpcode":200}, 
"INT": 
{"response": 
{"a":null, 
"b""4XX", 
"c":"1933011630372431565180", 
"d":null, 
"e":"KHD453REN00000004", 
"f":"KU55", 
"g":"253", 
"h":null, 
"i":null}, 
"httpcode":200}, 
"PREPROD": 
{"response": 
{"a":null, 
"b":"5XX", 
"c":"8933011630372431565180", 
"d":null, 
"e":"EHD453REN00000004", 
"f":"HU55", 
"g":"453", 
"h":null, 
"i":null}, 
"httpcode":200}} 

答えて

1

ここには正規表現の解決策があります。

using System; 
using System.Text.RegularExpressions; 

public class Example 
{ 
    public static void Main() 
    { 
     string pattern = @"\{[^{}]+value\":([^{}]+)\}"; 
     string replacement = "$1"; 
     Regex rgx = new Regex(pattern); 
     string input = YOUR_JSON_STRING; 
     string result = rgx.Replace(input, replacement); 
     Console.WriteLine(result); 
    } 
} 
+0

文字列pattern = "\\ {[^ {}] +値\":([^ {}] +)\\} "; ..うまく動作します。 – Jeev

1

はい。あなたはできる。このWebサイト(http://jsonutils.com/)に移動し、対応するデータ注釈を含む対応するクラスを作成し、最後にNewtonSoft(http://www.newtonsoft.com/json)を使用してjsonをレンダリングします。

+0

私はこれをプログラムで行う必要があります。これについてサンプルコードを提供できますか? – Jeev

関連する問題