2017-08-03 19 views
0

私は(VSテキストビジュアライザからコピーして貼り付け)いくつかのJSONデータがどのように見える文字列として戻って来ました:変換のJSON出力

{ 
    "error":0, 
    "result":{ 
     "name":"wjetestuser1", 
     "id":"0eu0_User_2_0b4cfb616e648d4792056c1a6e7d801e_null", 
     "status":"ACTIVE" 
    } 
} 
{ 
    "match":[ 
     [ 
     "domain.id", 
     "=", 
     "2" 
     ], 
     [ 
     "loginName", 
     "=", 
     "wjetestuser1" 
     ] 
    ], 
    "return":[ 
     "name", 
     "id", 
     "status" 
    ] 
} 

私はリストにこれを有効にしようとしています置き換えコマンドを使用せずに"result":後と{"match":前にすべてのため、私はのようなものですリストになってしまいます:私はボーナスthatsのバックエラーコードのステータスを得ることができる場合

 
Name, wjetestuser1 
id, 0eu0_User_2_0b4cfb616e648d4792056c1a6e7d801e_null 
status, ACTIVE 

、本当に必要ありません。

replace regexコマンドで文字列をハッキングしない単純なもの(またはいくつかのライナー)があることを期待しています。

様々なコードは、これまで試みますが、私は前にストリップと"result":とした後、以下{"match":

Sを含むを含む場合、これは私のために働い出力

​​

エラーで単一行として上にありますエラーとダウン3行目:

Additional text encountered after finished reading JSON content: {. Path '', line 1, position 119.

+5

Stack Overflowには100万JSONからC#までの質問がありますが、探してみましたか? – DavidG

+0

はい。そして、それらの多くを試して、入力が彼らの形式に合っていないので、毎回エラーを投げます - したがって、質問 –

+2

なぜあなたは私たちにあなたの努力のいくつかを見せてくれませんでしたか?あなたの質問は私たちがここではしない "私のためにコードを書いてください"のように見えるので、 – DavidG

答えて

1

卿Rufoがthis commentで指摘したように、あなたがもしC Newtownsoftライブラリを使用する場合Read Multiple Fragments With JsonReader。ウェブサイトからの例:私のオリジナルの答えは、この特定のケースのシナリオに最小限のJSONパーサーを作っていた

public class Role 
{ 
    public string Name { get; set; } 
} 

public class Main 
{ 
    string json = @"{ 'name': 'Admin' }{ 'name': 'Publisher' }"; 
    IList<Role> roles = new List<Role>(); 

    JsonTextReader reader = new JsonTextReader(new StringReader(json)); 
    reader.SupportMultipleContent = true; 

    while (true) 
    { 
     if (!reader.Read()) 
      break; 

     JsonSerializer serializer = new JsonSerializer(); 
     Role role = serializer.Deserialize<Role>(reader); 
     roles.Add(role); 
    } 

    foreach (Role role in roles) 
     Console.WriteLine(role.Name); 
} 

See revision history for that

+0

ありがとうございます。コードのトップセットはすぐに機能しました。 2番目のセットでは、私は文字列 'を' ToJsons(s)の角括弧の間に置き、完璧に出てきました。 これは私が作業していた正規表現の混乱よりもはるかに整ったものでした。 –

+1

@WayneEvans fyiの友人:それは正規表現でそれを解決することは不可能です。スタックを使用する必要があります。 [いくつかの参考文献](https://en.wikipedia。org/wiki/Chomsky_hierarchy) –

+1

この有効なJSON文字列で拡張メソッドを試してみてください* {"foo} {5": "bar} {6"} * –