I have this use case where I need to persist the following sample data in my contract.
{
    Linkage : {"4" : "1", "77" : "59", "5" : "64", "4" : "464", "455" : "364", "25" : "364", "25" : "164", "55" : "8684", "85" : "864"},
    UserId : "Some Id",
}
The dictionary is obviously expandable (root And Linkage). I want to send the data and retreive it as an object (c# and Java style). So when I communicate from WEB3 I can pass json. Is that possible?
This is where I got stuck...
pragma solidity ^0.4.13;
contract Test{         
  struct UserProfile{       
    string UserId;
  }   
  UserProfile public Profile;
  function setProfile(UserProfile newProfile) public {
    Profile  = newProfile;
  }        
}