簡體   English   中英

在SharePoint 2010 WebPart中解析JSON

[英]Parse json in sharepoint 2010 webpart

所以我用PHP做

$.ajax({
         url: 'parser.php',
         type: 'POST',
         data: 'Data=' + $.toJSON(schedule),
         success: function (res) {
                  alert(res);
         }
       });

脫落的物體

stdClass object {
   weeks => array (1) (
     [0] => stdClass object {
       0 => stdClass object {}
       1 => stdClass object {}
       2 => stdClass object {}
       3 => stdClass object {}
       4 => stdClass object {}
       5 => stdClass object {}
       6 => stdClass object {}
       alltime => (int) 60
     }
   )
   alltime => (int) 60
   hours => (int) 60
}

如何將ajax請求傳遞給sharepoint 2010?
然后在服務器上進行解析。 謝謝。

使用.NET 4.0極其容易。 JSON的興起

WebClient webClient = new WebClient();
dynamic result = JsonValue.Parse(webClient.DownloadString(
    "https://api.foursquare.com/v2/users/self?oauth_token=XXXXXXX"));
Console.WriteLine(result.response.user.firstName);

不幸的是,SharePoint 2010建立在.NET 3.5之上,因此我們不能使用該代碼。

相反,要調用Web服務,我們可以使用類似於使用C# 從REST服務獲取數據中描述的代碼:

public string GetMessage( string endPoint )
{
    HttpWebRequest request = CreateWebRequest( endPoint );

    using ( var response = (HttpWebResponse) request.GetResponse( ) )
    {
        var responseValue = string.Empty;

        if ( response.StatusCode != HttpStatusCode.OK )
        {
            string message = String.Format( "POST failed. Received HTTP {0}", 
                response.StatusCode );
            throw new ApplicationException( message );
        }

        // grab the response
        using ( var responseStream = response.GetResponseStream() )
        {
            using ( var reader = new StreamReader( responseStream ) )
            {
                responseValue = reader.ReadToEnd();
            }
        }

        return responseValue;
    }
}

然后,我們可以使用JavaScriptSerializer解析為JSON響應。

var serializer = new JavaScriptSerializer();
var result = serializer.DeserializeObject(response);

使用JavaScriptSerializer有點古怪。 如果您想要更精致的東西,可以使用Json.NET之類的第三方庫來解析JSON響應。

JObject o = JObject.Parse(responseValue);

我希望這有幫助,

暫無
暫無

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

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