def f h
Hash[h.map {|k,v| v.class == Array ? [k, v.map{|r| f r}.to_a] : [k.downcase, v]}]
end
p f({
"MemberId"=>"ABC0001",
"MemberName"=>"Alan",
"details"=>[
{"LineNumber"=>"4.1", "Item"=>"A0001", "Description"=>"Apple"},
{"LineNumber"=>"5.1", "Item"=>"A0002"},
{"LineNumber"=>"6.1", "Item"=>"Orange"}
]
})
ZGVmIGYgaAogIEhhc2hbaC5tYXAge3xrLHZ8IHYuY2xhc3MgPT0gQXJyYXkgPyBbaywgdi5tYXB7fHJ8IGYgcn0udG9fYV0gOiBbay5kb3duY2FzZSwgdl19XQplbmQKCnAgZih7CiAgIk1lbWJlcklkIj0+IkFCQzAwMDEiLCAKICAiTWVtYmVyTmFtZSI9PiJBbGFuIiwgCiAgImRldGFpbHMiPT5bCiAgICB7IkxpbmVOdW1iZXIiPT4iNC4xIiwgIkl0ZW0iPT4iQTAwMDEiLCAiRGVzY3JpcHRpb24iPT4iQXBwbGUifSwgCiAgICB7IkxpbmVOdW1iZXIiPT4iNS4xIiwgIkl0ZW0iPT4iQTAwMDIifSwgCiAgICB7IkxpbmVOdW1iZXIiPT4iNi4xIiwgIkl0ZW0iPT4iT3JhbmdlIn0KICBdCn0p
{"memberid"=>"ABC0001", "membername"=>"Alan", "details"=>[{"linenumber"=>"4.1", "item"=>"A0001", "description"=>"Apple"}, {"linenumber"=>"5.1", "item"=>"A0002"}, {"linenumber"=>"6.1", "item"=>"Orange"}]}