分析sharepoint 2010 Web部件中的json

Parse json in sharepoint 2010 webpart

本文关键字:json sharepoint 2010 Web 分析      更新时间:2023-09-26

所以我在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请求传递到sharepoint2010
然后在服务器上进行解析。非常感谢。

使用.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);

我希望这能有所帮助,