Click here to Skip to main content
Click here to Skip to main content

Solving the problem of Circular References in JSON

By , 12 Mar 2013
 

What is the problem of circular references in JSON? 

This problem occurs when you have entities that are interdependent. For example, a Book entity that contains a single or a collection of authors. The Author entity contains also a single or a collection of books. It's as A -> B -> A. Because JSON, like XML, is tree based, it can't deal with that and will throw an exception. 

I faced the problem of circular reference when I started using JSON. I searched the web, there were a lot of solutions for that. But they are not accepted in many cases. Because you will have to change a lot in your Models by adding annotations. Some other solutions will make your application slower, as they suggest to delete the virtual keyword used for lazy loading.

The solution 

What I suggest is to just remove the circular references, but how? You just set a single or collection of the entity Book in the entity Author. But you set the single or collection of the entity Author within the Book to Null. Then you will have (A -> B -> Null), so there are no more circular references!

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

About the Author

Houssem_Dellai
Student
Tunisia Tunisia
Member
I'm studying Software Engineering. I like writing articles and developing open source software in C#, Windows Phone and Windows 8 applications. I enjoy giving training sessions about .NET technologies. I want to be a software architect.

Sign Up to vote   Poor Excellent
Add a reason or comment to your vote: x
Votes of 3 or less require a comment

Comments and Discussions

 
Hint: For improved responsiveness ensure Javascript is enabled and choose 'Normal' from the Layout dropdown and hit 'Update'.
You must Sign In to use this message board.
Search this forum  
    Spacing  Noise  Layout  Per page   
GeneralMy vote of 1memberashved12 Mar '13 - 15:15 
GeneralRe: My vote of 1memberHoussem_Dellai12 Mar '13 - 23:03 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Permalink | Advertise | Privacy | Mobile
Web01 | 2.6.130513.1 | Last Updated 13 Mar 2013
Article Copyright 2013 by Houssem_Dellai
Everything else Copyright © CodeProject, 1999-2013
Terms of Use
Layout: fixed | fluid