¿Cómo crear una lista de JSON Array?

Tengo problemas para entender matrices y bucles, por lo que esta tarea me resulta un poco confusa. Aquí están mis cosas;

JSON

{
"states": [
    { 
        "name":"johor" , 
        "command":"view_johor" }, 

    { 
        "name":"selangor" , 
        "command":"view_selangor" }, 

    { 
        "name":"melaka" , 
        "command":"view_melaka" }, 

    { 
        "name":"kuala lumpur" , 
        "command":"view_kl" }, 

    { 
        "name":"penang" , 
        "command":"view_penang" }
    ]
}

JAVASCRIPT

$(function(){

$.ajax({
    type        :   'GET',
    url         :   'scripts/list.json',
    async       :   false,
    beforeSend  :   function(){/*loading*/},
    dataType    :   'json',
    success     :   function(result){

                        $.each(result, function(index, val){
                            for(var i=0; i < val.length; i++){
                                var item = val[i];
                                console.log(item.name)
                                }
                        });         

                        },
   });
});

Mi problema es que no sé cómo usar el bucle para que mi HTML regrese así:

<ul>
   <li><a href="#view_johor">Johor</a></li>
   <li><a href="#view_selangor">Selangor</a></li>
   <!-- and so on, dynamically depending on json... -->
</ul>

Puedo acceder a los datos a través deconsole.log(item.name)&nbsp;y eso, pero no puedo manipular los datos para que se muestren como quería. Ni siquiera conozco el término que se usa para buscar preguntas, ya que sé que esto es como un conjunto de elementos básicos ... ¡Gracias de antemano por su ayuda!