2014-10-02 71 views
0

我想在我的項目中構建一個json,但是讓它爲每個變量重新創建一個json。 請有人向我展示我如何能讓所有人都在同一組?Json爲每個變量建立自我?

類:

public class GetClient_Secrets 
    { 
     public List<Client_Secret> web {get; set;} 
    } 
    public class Client_Secret 
    { 
     public string auth_uri {get; set;} 
     public string client_secret {get; set;} 
     public string token_uri {get; set;} 
     public string client_email {get; set;} 
     public string redirect_uris {get; set;} 
     public string client_x509_cert_url {get; set;} 
     public string client_id {get; set;} 
     public string auth_provider_x509_cert_url {get; set;} 
     public string javascript_origins {get; set;} 
    } 

我如何建立我的JSON:

var jsonResult = new GetClient_Secrets 
      { 
       web = new List<Client_Secret> 
       { 
        new Client_Secret {auth_uri = "https://accounts.google.com/o/oauth2/auth1"}, 
        new Client_Secret {client_secret = "jCTUEYcUUKFnbFqLuPmnC-ZO2"}, 
        new Client_Secret {token_uri = "https://accounts.google.com/o/oauth2/token3"}, 
        new Client_Secret {client_email = "[email protected]account.com"}, 
        new Client_Secret {redirect_uris = "http://www.hlhstp.com/oauth2callback5"}, 
        new Client_Secret {client_x509_cert_url = "https://www.googleapis.com/robot/v1/metadata/x509/[email protected]account.com"}, 
        new Client_Secret {client_id = "789526175471-mh3o48ooi8va0mr0lke62pvqnf3kd2fj.apps.googleusercontent.com"}, 
        new Client_Secret {auth_provider_x509_cert_url = "https://www.googleapis.com/oauth2/v1/certs6"}, 
        new Client_Secret {javascript_origins = "http://www.hlhstp.com"} 
       } 
      }; 
      return JsonConvert.SerializeObject(jsonResult);//.Dump(); 

結果:

{ 
    "web": [ 
     { 
      "auth_uri": "https://accounts.google.com/o/oauth2/auth1", 
      "client_secret": null, 
      "token_uri": null, 
      "client_email": null, 
      "redirect_uris": null, 
      "client_x509_cert_url": null, 
      "client_id": null, 
      "auth_provider_x509_cert_url": null, 
      "javascript_origins": null 
     }, 
     { 
      "auth_uri": null, 
      "client_secret": "jCTUEYcUUKFnbFqLuPmnC-ZO2", 
      "token_uri": null, 
      "client_email": null, 
      "redirect_uris": null, 
      "client_x509_cert_url": null, 
      "client_id": null, 
      "auth_provider_x509_cert_url": null, 
      "javascript_origins": null 
     }, 
     { 
      "auth_uri": null, 
      "client_secret": null, 
      "token_uri": "https://accounts.google.com/o/oauth2/token3", 
      "client_email": null, 
      "redirect_uris": null, 
      "client_x509_cert_url": null, 
      "client_id": null, 
      "auth_provider_x509_cert_url": null, 
      "javascript_origins": null 
     }, 
     { 
      "auth_uri": null, 
      "client_secret": null, 
      "token_uri": null, 
      "client_email": "[email protected]account.com", 
      "redirect_uris": null, 
      "client_x509_cert_url": null, 
      "client_id": null, 
      "auth_provider_x509_cert_url": null, 
      "javascript_origins": null 
     }, 
     { 
      "auth_uri": null, 
      "client_secret": null, 
      "token_uri": null, 
      "client_email": null, 
      "redirect_uris": "http://www.hlhstp.com/oauth2callback5", 
      "client_x509_cert_url": null, 
      "client_id": null, 
      "auth_provider_x509_cert_url": null, 
      "javascript_origins": null 
     }, 
     { 
      "auth_uri": null, 
      "client_secret": null, 
      "token_uri": null, 
      "client_email": null, 
      "redirect_uris": null, 
      "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/[email protected]account.com", 
      "client_id": null, 
      "auth_provider_x509_cert_url": null, 
      "javascript_origins": null 
     }, 
     { 
      "auth_uri": null, 
      "client_secret": null, 
      "token_uri": null, 
      "client_email": null, 
      "redirect_uris": null, 
      "client_x509_cert_url": null, 
      "client_id": "789526175471-mh3o48ooi8va0mr0lke62pvqnf3kd2fj.apps.googleusercontent.com", 
      "auth_provider_x509_cert_url": null, 
      "javascript_origins": null 
     }, 
     { 
      "auth_uri": null, 
      "client_secret": null, 
      "token_uri": null, 
      "client_email": null, 
      "redirect_uris": null, 
      "client_x509_cert_url": null, 
      "client_id": null, 
      "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs6", 
      "javascript_origins": null 
     }, 
     { 
      "auth_uri": null, 
      "client_secret": null, 
      "token_uri": null, 
      "client_email": null, 
      "redirect_uris": null, 
      "client_x509_cert_url": null, 
      "client_id": null, 
      "auth_provider_x509_cert_url": null, 
      "javascript_origins": "http://www.hlhstp.com" 
     } 
    ] 
} 

回答

1

你正在爲每一個對象領域。您應該初始化一個對象中的所有字段。

var jsonResult = new GetClient_Secrets 
     { 
      web = new List<Client_Secret> 
      { 
       new Client_Secret { 
        auth_uri = "https://accounts.google.com/o/oauth2/auth1", 
        client_secret = "jCTUEYcUUKFnbFqLuPmnC-ZO2", 
        token_uri = "https://accounts.google.com/o/oauth2/token3", 
        client_email = "[email protected]account.com", 
        redirect_uris = "http://www.hlhstp.com/oauth2callback5", 
        client_x509_cert_url = "https://www.googleapis.com/robot/v1/metadata/x509/[email protected]account.com", 
        client_id = "789526175471-mh3o48ooi8va0mr0lke62pvqnf3kd2fj.apps.googleusercontent.com", 
        auth_provider_x509_cert_url = "https://www.googleapis.com/oauth2/v1/certs6", 
        javascript_origins = "http://www.hlhstp.com" 
       } 
      } 
     }; 
return JsonConvert.SerializeObject(jsonResult);//.Dump(); 
1

你反覆調用構造函數,每次路過一個不同的初始化參數。調用構造函數一次,傳入所有初始化參數。

var jsonResult = new GetClient_Secrets 
{ 
    web = new List<Client_Secret> 
    { 
     new Client_Secret { 
      auth_uri = "https://accounts.google.com/o/oauth2/auth1"}, 
      client_secret = "jCTUEYcUUKFnbFqLuPmnC-ZO2", 
      token_uri = "https://accounts.google.com/o/oauth2/token3", 
      client_email = "[email protected]account.com", 
      redirect_uris = "http://www.hlhstp.com/oauth2callback5", 
      client_x509_cert_url = "https://www.googleapis.com/robot/v1/metadata/x509/[email protected]account.com", 
      client_id = "789526175471-mh3o48ooi8va0mr0lke62pvqnf3kd2fj.apps.googleusercontent.com", 
      auth_provider_x509_cert_url = "https://www.googleapis.com/oauth2/v1/certs6", 
      javascript_origins = "http://www.hlhstp.com" 
     } 
    } 
}; 
return JsonConvert.SerializeObject(jsonResult);//.Dump(); 

即使它只有一個條目,它仍在生成列表。如果你只需要一個條目,也可以刪除這個列表,但是我認爲它是你的對象初始值設定項所必需的。

1

你的問題是,你正在創建一個新的Client_Secret每個屬性,你想要做的就是創建一個並設置所有屬性是什麼:

  web = new List<Client_Secret> 
      { 
       new Client_Secret 
       { 
        auth_uri = "https://accounts.google.com/o/oauth2/auth1", 
        client_secret = "jCTUEYcUUKFnbFqLuPmnC-ZO2", 
        token_uri = "https://accounts.google.com/o/oauth2/token3", 
        client_email = "[email protected]account.com", 
        redirect_uris = "http://www.hlhstp.com/oauth2callback5", 
        client_x509_cert_url = "https://www.googleapis.com/robot/v1/metadata/x509/[email protected]account.com", 
        client_id = "789526175471-mh3o48ooi8va0mr0lke62pvqnf3kd2fj.apps.googleusercontent.com", 
        auth_provider_x509_cert_url = "https://www.googleapis.com/oauth2/v1/certs6", 
        javascript_origins = "http://www.hlhstp.com" 
       } 
      }