Advertisement
Guest User

Untitled

a guest
Dec 6th, 2016
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.75 KB | None | 0 0
  1. CREATE OR REPLACE FUNCTION jsonb_merge(left JSONB, right JSONB) RETURNS JSONB AS $$
  2.  
  3. var mergeJSON = function (target, add) {
  4. function isObject(obj) {
  5. if (typeof obj == "object") {
  6. for (var key in obj) {
  7. if (obj.hasOwnProperty(key)) {
  8. return true; // search for first object prop
  9. }
  10. }
  11. }
  12. return false;
  13. }
  14. for (var key in add) {
  15. if (add.hasOwnProperty(key)) {
  16. if (target[key] && isObject(target[key]) && isObject(add[key])) {
  17. mergeJSON(target[key], add[key]);
  18. } else {
  19. target[key] = add[key];
  20. }
  21. }
  22. }
  23. return target;
  24. };
  25.  
  26. return mergeJSON(left, right);
  27.  
  28. $$ LANGUAGE plv8;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement