How to get Nested JSON values EDIT:  Object result = JSON.deserializeUntyped(payload);  if (result instanceof Map&lt;String, Object&gt;) {     Map&lt;String, Object&gt; resultMap = (Map&lt;String, Object&gt;)result;     system.debug('result: ' + resultMap.get('records')); //returns null }   //END EDIT  How to loop through the nested json key/value for an example how can I get the values for this attributes Records==&gt;attributes==&gt;url or Metadata=&gt;formula  APEX Code:  String payload = '.... json...' Map&lt;String, Object&gt; jsonMap = (Map&lt;String, Object&gt;)JSON.deserializeUntyped(payload);       List&lt;Object&gt; records = (List&lt;Object&gt;) jsonMap.get('records'); //get the records if (records != null) {     for (Object r : records) {         //for (string r2 : r.get('url')) {  //error incorrect signature              system.debug(r.value);         //}     } } else {     system.debug('null.. : ' + records); }   JSON  {   "size": 1,   "totalSize": 1,   "done": true,   "queryLocator": null,   "entityTypeName": "CustomField",   "records": [     {       "attributes": {         "type": "CustomField",         "url": "/services/data/v46.0/tooling/sobjects/CustomField/00N6g00000TAlZNEA1"       },       "Metadata": {         "businessOwnerGroup": null,         "businessOwnerUser": null,         "formula": "IMAGE( \nCASE(Rating__c, \n\"Very Bad\", \"/img/samples/stars_100.gif\",\n\"Bad\", \"/img/samples/stars_200.gif\",\n\"Okay\", \"/img/samples/stars_300.gif\", \n\"Good\", \"/img/samples/stars_400.gif\", \n\"Very Good\", \"/img/samples/stars_500.gif\", \n\"/img/samples/stars_000.gif\"), \n\"rating\")",         "formulaTreatBlanksAs": "BlankAsZero"       }     }   ] }
How do I get started working with JSON in Apex? This is a canonical question and answer developed by the community to help address common questions. If you've been directed here, or your question has been closed as a duplicate, please look through the resources here and use them to shape more specific questions. To browse all canonical questions and answers, navigate to the  tag.  This question and answer is owned by the community! If you can improve it and make it more useful, you're welcome to edit it.  I have a specific JSON structure in mind. I need to either deserialize this structure that's coming in from a web service, or I need to serialize data into this structure to transmit it to another system. How should I get started on this project in Apex?
How to take mysqldump with Generated column? I am getting below error while importing the dump,     ERROR 3105 (HY000) at line 82: The value specified for generated   column 'column_name' in table 'table_name' is not allowed.   When I describe the table with error, there are some generated columns in it.     option_type         | varchar(45)  | YES  | MUL | NULL    | VIRTUAL   GENERATED   What is the correct command to use when taking mysql dump for the database contains generated column?  MySQL server source and destination version:     mysqld Ver 5.7.26 for Linux on x86_64 (MySQL Community Server (GPL))   MariaDB mysqldump CLI version:     mysqldump Ver 10.17 Distrib 10.3.12-MariaDB, for Linux (x86_64) Masking problems I am working with masking. Here is my node setting with the mask.   And here is my node settings  And what am i getting is this.    I tried invert node and many settings. It just doesnt work. Where am i going wrong We have a situation: someone saw the boy break the window. Can I make this passive sentence?     The boy was seen to break the window.   I use Murphy's Grammar and this structure is never discussed. Why is every Noetherian zero-dimensional scheme finite discrete? Trying to purge MySQL fails I'm running in circles currently, trying to fix some mysql problem.  I couldn't use apt-get for a while now, because it always stuck at the line Setting up mysql-server-5.6 (5.6.27-0ubuntu0.15.04.1) ... and didn't let me do anything. So I tried to reinstall mysql, purging it. While I was able to remove mysql-server and mysql-client eventually, I'm still unable to purge mysql-common. Obviously, I managed to corrupt something, but how can I get my system back and running at this point?  ...:~# apt-get purge mysql-common Reading package lists... Done Building dependency tree        Reading state information... Done The following packages will be REMOVED:   mysql-common* 0 upgraded, 0 newly installed, 1 to remove and 5 not upgraded. After this operation, 0 B of additional disk space will be used. Do you want to continue? [Y/n] Y (Reading database ... 423600 files and directories currently installed.) Removing mysql-common (5.6.27-0ubuntu0.15.04.1) ... Purging configuration files for mysql-common (5.6.27-0ubuntu0.15.04.1) ... update-alternatives: error: /var/lib/dpkg/alternatives/my.cnf corrupt: invalid status dpkg: error processing package mysql-common (--purge):  subprocess installed post-removal script returned error exit status 2 Errors were encountered while processing:  mysql-common E: Sub-process /usr/bin/dpkg returned an error code (1)   -  ...# sudo dpkg -P --force-all mysql-common (Reading database ... 424733 files and directories currently installed.) Removing mysql-common (5.6.27-0ubuntu0.15.04.1) ... Purging configuration files for mysql-common (5.6.27-0ubuntu0.15.04.1) ... update-alternatives: error: no alternatives for my.cnf dpkg: error processing package mysql-common (--purge):  subprocess installed post-removal script returned error exit status 2 Errors were encountered while processing:  mysql-common   -  ...:~# lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description:    Ubuntu 15.04 Release:    15.04 Codename:   vivid   My goal is to just get it back and running again (mysql). Why do games run slow on CPU Maybe my question sounds naive because I'm not a game developer but I dont see objective reasons for this. An average cpu is in times more powerful than an average gpu like a few graphics cards in one. The most repeated reasons in internet:  the GPU isn't as busy as the CPU  If the gpu renders the screen how it can not be busy The modern cpus are powerful enough. They are not busy most of time. For example my cpu's usage is 3%.  many GPU's are designed to process graphics commands in parallel, CPU single threads them  What bothers the games to run a few parallel processes even on one cpu core? In my opinion its not correct to tell that the gpu is better if games never use 100% of the cpu's capacity. To be specific they dont use even 50%.  To clarify my question based on responses in the comments:  Did you mean to ask &quot;Why do games render more slowly on the CPU?&quot;  Yes I mean why the cpu cant do the whole work for games when it is underloaded and especially if it does the largest part of work in any case.  You can not compare GPUs and CPUs directly, because they do different things.  What bothers them to do the same things?  The CPU isn't as well suited to performing rendering calculations  I dont understand what &quot;suited&quot; means. And why the cpu is not suitable for primitive tasks aka paint roller.  adding additional parallel processes doesn't improve performance  Then why do you produce multicore graphics cards and multicore central processing units? Just give various parts of one task to a few processes if one process is slow and 100% of the capacity is not used. What bothers to emulate the gpu? Its also unclear for me why when you play without a separate graphics module the games see only one cpu core when you play with the gpu they see and use all the cpu cores. May be some magic. How should a family with young children apply for UK visas? We are sponsoring a family to visit us in UK as friends from Madagascar for two weeks. They have a 6 year old and a 16 month old.   Do the kids need their own visas, and are they the standard visitor visa or a special child visa?   Also, when I try and apply on the website I can only apply for one person so how do I apply for all the individuals in the family?   I have looked on the Immigration website and can't find the answers I need. ext4 partition size / free space discrepancies While creating a 250GiB backup partition for my data, I have noticed lots of discrepancies between reported partition size and free space in Nautilus, gParted, df, tune2fs, etc.  At first I thought it was a GiB / GB confusion. It was not.  Then I thought it could be ext4's reserved blocks. It was not.  Im completely puzzled. Here are some images. Here are the steps:   First, NTFS. 524288000 sectors x 512 bytes/sector = 268435456000 bytes = 268.4 GB = 250 GiB.      Nautilus say "Total Capacity: 250.0 GB" (even though its actually GiB, not GB). Apart from that minor mislabeling, so far, so good   Now, same partition, formated as ext4 with gparted:     First, Last and Total sectors are the same. It IS the same 250GiB partition. Used size is 4.11GiB (reserved blocks maybe?)    Nope. Looks like reserved blocks are 12.7 GiB (~5%. ouch!). But... why Total Capacity is now only 246.1 GiB ???. That difference (sort of) matches the 4.11 GiB reported by gparted. But... if its not from reserved blocks, what is it? And why gparted didnt report that 12.7GiB of used space?  $ df -h /dev/sda5 Filesystem            Size  Used Avail Use% Mounted on /dev/sda5             247G  188M  234G   1% /media/BACKUP   df matches Nautilus in reported free space. But.. only 188M used? Shouldnt it be ~12GB? And total capacity is still wrong. So i ran tune2fs to find some clues. (irrelevant output is ommited)  $ sudo tune2fs -l /dev/sda5 tune2fs 1.41.12 (17-May-2010) Filesystem volume name:   BACKUP Filesystem UUID:          613d592e-47f5-4206-96a7-210090d340ef Filesystem features:      has_journal ext_attr resize_inode dir_index filetype extent flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize Filesystem flags:         signed_directory_hash  Filesystem state:         clean Filesystem OS type:       Linux Block count:              65536000 Reserved block count:     3276800 Free blocks:              64459851 First block:              0 Block size:               4096   65536000 total blocks * 4096 bytes/block = 268435456000 bytes = 268.4 GB = 250 GiB. It matches gparted.  3276800 reserved blocks = 13421772800 bytes = 13.4 GB = 12.5 GiB. It (again, sort of) matches Nautilus.  64459851 free blocks = 264027549696 bytes = 264.0 GB = 245.9 GiB. Why? Shouldnt it be either 250-12.5 = 237.5 (or 250-(12.5+4.11)=~233) ?  Removing reserved blocks:  $ sudo tune2fs -m 0 /dev/sda5 tune2fs 1.41.12 (17-May-2010) Setting reserved blocks percentage to 0% (0 blocks)  $ sudo tune2fs -l /dev/sda5 tune2fs 1.41.12 (17-May-2010) Filesystem volume name:   BACKUP Filesystem UUID:          613d592e-47f5-4206-96a7-210090d340ef Filesystem features:      has_journal ext_attr resize_inode dir_index filetype extent flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize Filesystem flags:         signed_directory_hash  Filesystem state:         clean Filesystem OS type:       Linux Block count:              65536000 Reserved block count:     0 Free blocks:              64459851 Block size:               4096   As expected, same block count, 0 reserved blocks, but... same free blocks? Didnt I just freed 12.5 GiB ?  $ df -h /dev/sda5 Filesystem            Size  Used Avail Use% Mounted on /dev/sda5             247G  188M  246G   1% /media/BACKUP     Looks like I did. Avaliable space went up from 233 to 245.9 GiB. gparted didnt care at all, showing exactly same info! (useless to post an identical screenshot)  What a huge mess!  I tried to document it as best as I could... So, please can someone give me any clue on what's going on here?   What are those misterious 4.11 GiB missing from NTFS -> ext4 formatting? Why there are so many discrepancies between gparted, Nautilus, tune2fs, df? What is wrong with my math? (questions in bold scattered this post)   Any help is appreciated. While I can not figure what is going on, I am serilously considering giving up on ext4 in favor of NTFS for everything but my / partition.  Thanks! Today I learned you can't move items to a Drop Off Library via workflow and expect its routing rules to kick in automatically. You then have to manually "Submit" each item, even if all metadata is already supplied in the document.  However, I noticed items I manually create in the Drop Off Library (via Documents -> New Documents -> [Content Type Name]) are routed immediately after I save them for the first time. So I'm thinking generating items in the Drop Off library via workflow could be a workaround.  This doesn't work in testing. The workflow errors out, and I receive "The workflow could not create the list item. Make sure the list exists and the user has permissions to add items to the list."  Obviously the list exists and I have Ownership permissions. My workflow is just one line at this stage, so I'm positive I'm building it correctly. Is this error due to a property of the Drop Off Library, maybe something I can disable?   Any other ideas? Or if you've got another method that I can implement via SharePoint Designer, that also works! THANKS!!!  THE GOAL  A workflow that kicks off when a list item is created:   Document Set is created with list item's properties. (complete) File is created with list item's properties. (complete if not in Drop Off Library) File is moved to the right document set via Drop-Off rules (got working rules, trying to work around having to manually Submit without coded solution) Quantum levitation, flux pinning -- basically, when a superconductor floats above a permanent magnet, is really fascinating. But does the strength of the magnetic field influence the superconductor's height? And what relationship/formula suggests this?  For example, if I had a coil wrapped around a metal object and then ran a small current through it, a small magnetic field would be generated and a superconductor exposed to it would float about it at some height that I put it on.  But what if I increased the current, so that the magnetic field also increased? What happens to the superconductor? Does its height change? Or does it just get harder to "pull out" of its levitating state? How to iterate over arguments in a Bash script Root partition size remains same after partition resize with gparted I had resized my root partition from 30gb to 70gb using gparted. But Ubuntu still shows that I have the same old disk size while gparted shows that I acually have 70gb and that the other 40gb is somehow used. How can I fix this?  Output of 'df -h':  Filesystem      Size  Used Avail Use% Mounted on /dev/sda5        30G   16G   13G  55% / none            4.0K     0  4.0K   0% /sys/fs/cgroup udev            1.9G  8.0K  1.9G   1% /dev tmpfs           391M  884K  390M   1% /run none            5.0M     0  5.0M   0% /run/lock none            2.0G  284K  2.0G   1% /run/shm none            100M   48K  100M   1% /run/user /dev/sda6       341G  115G  227G  34% /media/Data /dev/sdb1       932G  459G  474G  50% /media/sidharth/passport   Output of mount:  /dev/sda5 on / type ext4 (rw,errors=remount-ro) proc on /proc type proc (rw,noexec,nosuid,nodev) sysfs on /sys type sysfs (rw,noexec,nosuid,nodev) none on /sys/fs/cgroup type tmpfs (rw) none on /sys/fs/fuse/connections type fusectl (rw) none on /sys/kernel/debug type debugfs (rw) none on /sys/kernel/security type securityfs (rw) udev on /dev type devtmpfs (rw,mode=0755) devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620) tmpfs on /run type tmpfs (rw,noexec,nosuid,size=10%,mode=0755) none on /run/lock type tmpfs (rw,noexec,nosuid,nodev,size=5242880) none on /run/shm type tmpfs (rw,nosuid,nodev) none on /run/user type tmpfs (rw,noexec,nosuid,nodev,size=104857600,mode=0755) /dev/sda6 on /media/Data type fuseblk (rw,nosuid,nodev,allow_other,default_permissions,blksize=4096) binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,noexec,nosuid,nodev) gvfsd-fuse on /run/user/sidharth/gvfs type fuse.gvfsd-fuse (rw,nosuid,nodev,user=sidharth) /dev/sdb1 on /media/sidharth/passport type fuseblk (rw,nosuid,nodev,allow_other,blksize=4096) Same script opened in three different ways produces three different results. Why? I have a sample script (credit goes to ):  #!/bin/bash cat &lt;(cat /etc/lsb-release)   I save this script as somename.sh in my home directory.  Now, I try to open this file in three different ways:  sh somename.sh  bash somename.sh  ./somename.sh   So, I have two questions:   Why are the outputs for the above commands different though they are running the same script?   sh produces a Syntax error bash outputs the desired result ./ gives a Permission Denied error  Why is it necessary to give the script executable permission only when running the script using ./ and not necessary in the other cases?   Thanks in advance!  EDIT: The first part might be similar to the  linked one but, I did have a second question too. How to find bases for a subspace defined by an equation Show that $|f(z_1)|=|f(z_2)|≤|z_1|^2=|z_2|^2$. Let $f\in H(B(0,1))$, $f(0)=0$, $f(B(0,1))\subset B(0,1)$. Suppose there are 2 different points $z_1$,$z_2\in B(0,1)$, s.t. $|z_1|=|z_2|$, $f(z_1)=f(z_2)$. Show that $|f(z_1)|=|f(z_2)|≤|z_1|^2=|z_2|^2$.    I have used the Schwarz-Pick Proposition to prove that $|f(z_1)|=|f(z_2)|≤|z_1|=|z_2|$ directly, but that is not enough. Thank you for help! Heres a picture. im making a body, and it seems to have flash in the middle. Random Sample vs. As Large a Sample as Possible? I'm struggling to differentiate scenarios where you would use random sampling vs. getting as large a sample as possible. For instance, one thing I am trying to test is the notion that being in a "home" arena boosts player performance.  I have collected individual football game data for every game over the past 10 years. I have over 34000 observations of players performance during this time span. Would it have been more prudent for me to take a random sample of say, 1000 players over the past 10 years?  I just don't understand why, in the above scenario, I'd take a random sample of 1000 when I can just take all of the players performances from the past 10 years. Referencing the reference? Is adjoint of singular matrix singular? What would be its rank? How to install Chrome browser properly via command line? I am trying to install chrome browser via command line.  I tried this:  $ apt-cache search chrome browser   The results show that the proper term is "chrome-browser," so I tried that:  $ sudo apt-get install chrome-browser   And then "Y" for the Y/n question.  But the installation threw errors.  Does someone see anything wrong with the commands I issued?