2012-07-05 7 views
37

可能性の重複:Javaでは
Turn C# object into a JSON string in .NET 4変換オブジェクトが

、私は、JSON文字列にJavaオブジェクトを変換するためのコードを持っています。どのようにC#で同様のことを行うには?どのJSONライブラリを使うべきですか?

ありがとうございました。

JAVAコード私はNewtonsoft JSON.NETDocumentation)を使用しているJavaScriptSerializer

JavaScriptSerializer js = new JavaScriptSerializer(); 
    string json = js.Serialize(obj); 
+0

これをC#で試してみてください。書かれているように、この質問は、Googleの検索から離れているだけで、それ以上の価値はありません。質問を編集して、C#で試したことと動作していないことを含めてください。 –

+0

@George Stocker彼はシリアル化について質問していますが、デシリアライズの重複を表示しています、なぜですか? –

+0

@GovindKamalaPrakashMalviya無数の重複のうち、私は誤ったものを選んで誤ったものを選んだ。それをキャッチするためにありがとう。 –

答えて

74

import net.sf.json.JSONArray; 
import net.sf.json.JSONObject; 

public class ReturnData { 
    int total; 

    List<ExceptionReport> exceptionReportList; 

    public String getJSon(){ 
     JSONObject json = new JSONObject(); 

     json.put("totalCount", total); 

     JSONArray jsonArray = new JSONArray(); 
     for(ExceptionReport report : exceptionReportList){ 
      JSONObject jsonTmp = new JSONObject(); 
      jsonTmp.put("reportId", report.getReportId());  
      jsonTmp.put("message", report.getMessage());    
      jsonArray.add(jsonTmp);   
     } 

     json.put("reports", jsonArray); 
     return json.toString(); 
    } 
    ... 
} 
+1

こんにちは、この回答は機能しますが、new {Name = "Myname"}のようなjavascript形式のオブジェクトを{name: "MyName"}にシリアライズする方法があります。ありがとうございます –

+1

@ LexyFeito私は誰もあなたの質問に答えていないことを確認します。 使用: 'VAR設定=新しいJsonSerializerSettings {ContractResolver =新しいCamelCasePropertyNamesContractResolver()};' ' settings.Converters.Add(新しいStringEnumConverter());' ' するvar JSON = JsonConvert.SerializeObject(myReturnData、Formatting.Indented、設定); ' – Kody

+0

ワーキングタンク@@ –

36

使用.NET作り付けのクラスそれはあなたが、クラス/オブジェクトを作成するフィールドを移入し、としてシリアライズすることができますJSON。

public class ReturnData 
{ 
    public int totalCount { get; set; } 
    public List<ExceptionReport> reports { get; set; } 
} 

public class ExceptionReport 
{ 
    public int reportId { get; set; } 
    public string message { get; set; } 
} 


string json = JsonConvert.SerializeObject(myReturnData); 
+0

'json.put( "totalCount"、total)を処理する方法。 '? – user595234

関連する問題