Artiklar » JavaScript » JSON i Internet Explorer 8

 
 

JSON i Internet Explorer 8

Författare: vimpyboy
Datum: den 21 mars 2009
Antal lästa: 2782
Ej stjärnmärkt

En nyhet i IE 8 är inbyggt stöd för att hantera JSON. De metoder som finns är stringify() och parse(). För den som inte vet vad JSON är så har jag en kort genomgång.

JSON är en förkortning för JavaScript Object Notation. Det är egentligen helt vanliga Javascript-objekt. Det används ofta i samband med Ajax då det innebär mycket mindre overhead än XML och går därmed snabbare att ladda.

Ett exempel på JSON:

Kod:
var json = {
  'firstname': 'Mikael',
  'lastname': 'Söderström',
  'age': 112,
  'skills': ['ASP.NET', 'C#']
};



Det här är ett JSON-objekt skapat direkt med javascript. För att använda det i Ajax-sammanhang så har man tidigare fått använda eval(json-sträng) för att få det till objekt. Det innebär dock stora säkerhetsproblem då man kan exekvera i stort sett vilket javascript som helst. I Internet Explorer 8 så finns det dock nya metoder för att lösa detta.

För att använda objektet ovan så kan vi köra det här:

Kod:
alert(json.firstname + ' ' + json.lastname);



Det som sker här är att en alert-ruta dyker upp med texten "Mikael Söderström".

Om vi vill få hela vårt JSON-objekt till en sträng så kan vi med de nya API:erna använda stringify(). Säg att vi kör denna kod:

Kod:
var jsonString = JSON.stringify(json);
alert(jsonString);



Det som sker nu är att vi får en alertruta med texten:

Kod:
{"firstname":"Mikael","lastname":"S\u00f6derstr\u00f6m","age":112,"skills":["ASP.NET","C#"]}



Det är så her det hade sett ut om det hade kommit via ett Ajax-anrop.

Vill vi nu få den här strängen tillbaka till ett JSON-objekt så kan vi använda parse():

Kod:
var parsedJson = JSON.parse(jsonString);
alert(parsedJson.firstname);



Det som sker nu är att vi återigen kan anropa objektet som vanligt.

Fördelarna med att använda dessa inbyggda funktioner är att vi får bättre prestanda och bättre säkerhet när vi arbetar med JSON.
 
     

  » Logga in  
 
Användarnamn

Lösenord

 
     

  » Bli medlem  
  Bli medlem på ASPsidan!  
     

     
  Microsoft  
     

  » Partners  
  Comsolvia  
     
  » ANNONS  
  ingen annons än  
     

  » Senast online  
  Endast för inloggade  
  Antal inloggade: 1  
     

Copyright © 2007 www.ASPsidan.se
ingen sponsrar längre ASPsidan med Dedikerad Server
ASPsidan RSS
   
 XHTML / CSS
Det tog 0,0938 sekunder att ladda sidan