WCF / ASMX :: Can Get Different Json Datasets From The Same Object
Apr 6, 2010
I want to serialize an object to json, so I'm using [Code]....
[Code]....
This is fine, but I want to return different json datasets depending on the circumstances. Lets say I have this object (a simplified example):
[DataContract]
class foo
{
[DataMember] int productId
[DataMember] string productName
double price; //not used in json.. yet
}
Which will serialize to a json object containing the product name & Id, but what if I also need to be able to return a different json object (say, productId and price but not name)? Can this be done somehow in the same object using WCF/DataContracts and DataMembers? This will be sent in an ajax query containing a collection of objects and needs to fast, so just including every member in every type of json request whether it's needed or not isn't a good solution.
I have developed a web site that uses strongly typed datasets to access SQL. This has worked well: I have found that this is easy and robust, so that if I make changes to the data structure invariably I am either protected from this and my code continuesto work correctly, or there are compile errors that are obvious and easily fixed. Thus I am a fan of typed datasets.I am now starting to learn how to use web services, as I need to use the site's database with Windows programs. I have a web service with the following code, passing back a datatable: -
<WebMethod()> _ Public Function GDBSearch(arguments) As DataTable Dim tbGDBSearch As DataTable = taGDBSearch.GetData(arguments)
I use the JavaScriptSerializer class of ASP.net to serialize my object and return it to the client side. How can I deserialize the string using JavaScript?
I've scenario where I want to insert data into database without post back. there are around 12 to 13 fields which i need to insert. I'm passing DTO from the client side which is actually Json object. Now the problem which i'm facing is how to convert that Json object which i got in webservice to the "class" (in my case class name is User) object.
[Code]....
In the above case AddNewUser method takes the object of User class. But i'm getting casting error. So how do I convert Json object to the "User" class object?
Is there an easy way to populate my C# Object with the JSON object passed via AJAX?
//This is the JSON Object passed to C# WEBMETHOD from the page using JSON.stringify {"user":{"name":"asdf","teamname":"b","email":"c","players":["1","2"]}} //C# WebMetod That receives the JSON Object [WebMethod] public static void SaveTeam(Object user) { } //C# Class that represents the object structure of JSON Object passed in to the WebMethod public class User { public string name { get; set; } public string teamname { get; set; } public string email { get; set; } public Array players { get; set; } }
I have a webservice, it has few webmethods. when i create a client proxy and invoke the methods to check its response, i am getting this error. Can someone tell me what things can i check to know the cause of this? The error is not saying much hence blocked on this.
I could really use some help on this one. I've been fighting it now for several days and we are supposed to start testing early next week.I am subscribing to 4 web services all hosted by the same company. The integration with 1, 2 and 3 all went fine, but on the fourth I keep getting the very unhelpful error:
System.Web.Services.Protocols.SoapException = {"Server was unable to process request. ---> Object reference not set to an instance of an object."} [code]...
I want to return an array of javascript objects from my asp.net asmx file. ie.
variable = [ { *value1*: 'value1',[code]....
I seem have been having trouble reaching this. I'd put this into code but I've been hacking away at it so much it'd probably do more harm than good in having this answered. Basically I am using a web service to find names as people type the name. I'd use a regular text file or something but its a huge database that's always changing - and don't worry I've indexed the names so searching can be a little snappier - but I would really prefer to stick with this method and just figure out how to get usable JSON back to javascript. I've seen a few that sort of attempt to describe how one would approach this but I honestly think microsofts articles are damn near unreadable.
EDIT: I'm using the $.ajax() function from jQuery - I've had it working but it seems like I was doing it in bad practice not returning and using actual JSON. Previously I'd take a string back and insert it into html to use the variable it set - very roundabout.
I'd like to read data server-side from a web service that outputs in json format. I haven't found any good examples that don't use jquery and are server-side.
Specifically I'm looking at the "weight" field from this api:
Just ramping up on JSON and JQuery and returning data to a ASP.NET web page from a web service using Ajax. The JQuery part is pretty straight-forward. However, when trying to return JSON formatted data instead of XML from a 2.0 web service, I'm stuck. The web service does have the System.Web.Script.Services.ScriptService attribute, so I can hit it via JavaScript; however, the web service always...always...returns data in XML format, no matter if I explicitly say I want JSON as the datatype in my JQuery code. So I don't know if this is an issue with the web service or the JQuery code. I posted this here, but realize that the category could be incorrect depending on where the issue is. Is there no way to return JSON data from a 2.0 web service? It's a production web service, so I can't change the code unfortunately.
From VB.net code behind when I am trying to deserialize it it's stating that
"Expecting state 'Element'.. Encountered 'Text' with name '', namespace ''."
Deserialization code snippet:
Dim serializer = New DataContractJsonSerializer(GetType(List(Of Employee))) Dim memoryStream = New MemoryStream() Dim s = msg.Content.ReadAsString() serializer.WriteObject(memoryStream, s) memoryStream.Position = 0.......
i built contact form in aspx 3.5 and i'm using jquery to send it to web service (asmx).the web service need to return success or error code. the problem is that at the web method i get only single value and not array. I'm kind of new in ajax and i tried a lot of solutions but without any results.. please if you can only explain me the principle of what to do it also be good..this is the client side:
when i debug i see that the input parameter "name" contains only one string - i dont know how to get the full json string that i send to the service and contains all the form data - i want to desirialize it to string array or something like, and process it.
there's an .aspx page that does absolutely nothing in the codebehind, but contains the markup for the page in the Design View. Then we have an .asmx web service that receives requests with JSON content-type. These are called by the JavaScript in the page. This web service returns .NET objects serialized to JSON in response to these JavaScript Ajax HTTP POSTs. I'd like to switch to MVC but am not sure to how switch this architecture. Basically what we're doing is two things:
1) Replying to GET /MyPage.aspx with HTML markup that represents the page 2) Replying to POST /MyPage.aspx/WebMethodName requests with .NET objects serialized to JSON.
It seems like MVC would be a good way to eliminate the need for a Page object (again, the codebehind isn't used--only the HTML markup in the .aspx file is) and an .asmx web service. No? What do I need to start changing to accomplish this switch? Is it straight-forward? Painful? Someone at work already has an MVC page running in the same directory as my Web Forms .aspx and .asmx web service, but I don't see anything in the directory about Routes, so I'm confused. He's got a Views, ViewModels, and Controllers subdirectories.
i have a few calls however when i type in the URI into the address bar in internet explorer it prompts me to save the file. However google chrome displays it automatically in the browser page. Does anyone know why this would occur, here is an example of one of my calls;
I have an object called MyObject that has several properties. MyList is a list of MyObject that I populate with a linq query and then I serialize MyList into json. I end up with something like this
List<MyObject> MyList = new List<MyObject>();
MyList = TheLinqQuery(TheParam);
var TheJson = new System.Web.Script.Serialization.JavaScriptSerializer();
string MyJson = TheJson.Serialize(MyList);
What I want to do is serialize only parts of MyObject. For instance, I might have Property1, Property2...Propertyn and I want MyJson to only include Property3, Property5 and Property8. I thought of a way to do this by creating a new object with only the properties I want and from there create a new list for the serialization.
I could use the DataContractJsonSerializer Class and have custom Classes defined. However, am not sure how keys like "$" would get converted to in .Net.
I am unable to convert JSON string to .net object in asp.net. I am sending JSON string from client to server using hidden field (by keeping the JSON object.Tostring() in hidden field and reading the hidden field value in code behind file)
I have a json object collection of geo locations that I build in the server. Each of those objects has two properties: "marker" and "onClick". Marker is for storing a Google Maps marker object and the onClick stores the name of the function to be called when that marker is clicked on the map.When I'm pushing the location objects into an array using javascript in the client side, I create the markers and assign them to each location object within the array.
My problem is that when I bind the marker with the onClick property, the function won't be found in the DOM and get an error.Is there a way to declare a property in a json object for using it on an event binding?
i need to be able to expose information to a page, and I need to write the information in xml on my webserver which will be dynamically created from the database.
I need to use json to pass the data from the screen back to the server two way communication xms back and forth. Is it actually any good using a wcf endpoint to serve the json back to the page and use query with wcf? Is this possible?
Or is it easier to use standard pages .aspx and just do a call to a url and get the json with jquery....
We will probably want to send this information to other locations at some point in the future too....