Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
The below code is valid for SharePoint 2013/2016.
Hopefully, things are better in SharePoint 2016 to read data from external domain and get the results in JSON which can be used for various purposes. A reference to SharePoint.Client and System.Web.Extentions need to be added. Below are two codes, one to convert a data to JSON and the other code to read SharePoint list and return in JSON format.
Code 1: Read data and convert to JSON
//References::http://stackoverflow.com/questions/6201529/turn-c-sharp-object-into-a-json-string-in-net-4 //https://msdn.microsoft.com/en-us/library/system.web.script.serialization.javascriptserializer.aspx namespace MSDNJsonData
{ class
{ int year;
int month;
int day;
} class
{ string firstName;
string lastName;
MyDate dateOfBirth;
} Program
static string[] args)
{ new
{ firstName = ,
lastName = ,
dateOfBirth = MyDate
var json = JavaScriptSerializer().Serialize(obj);
Console.Read();
} } }
Code 2: To read SharePoint and return data in JSON format.
using ServiceReference1;
class
{ string Title;
} class
{ string Email;
string MailGroup;//A lookup column
} Program
static string[] args)
ServiceReference1.new ServiceReference1.new "/_vti_bin/listdata.svc"));
context.Credentials = System.Net.// Starting with ClientContext, the constructor requires a URL to the
// server running SharePoint.
ClientContext clientcontext = ClientContext(websiteUrl);
List announcementsList = clientcontext.Web.Lists.GetByTitle();
// so that it grabs all list items, regardless of the folder they are in.
CamlQuery query = ListItemCollection items = announcementsList.GetItems(query);
clientcontext.Load(items); clientcontext.ExecuteQuery(); ListItem listItem // We have all the list item data. For example, Title.
Console.WriteLine(listItem[]);
new
{ Title = listItem[].ToString()
}; new Console.WriteLine(json);
}
List emailList = clientcontext.Web.Lists.GetByTitle();
// so that it grabs all list items, regardless of the folder they are in.
CamlQuery query2 = ListItemCollection items2 = emailList.GetItems(query);
clientcontext.Load(items2); clientcontext.ExecuteQuery(); ListItem listItem2 // We have all the list item data. For example, Title.
Console.WriteLine(listItem2[]);
"MailGroup"] FieldLookupValue;
new
{ Email = listItem2[].ToString(),
MailGroup = mail.LookupValue }; new Console.WriteLine(json2);
}