parsing  json erreur   nullpointExcepetion
	
	
		bonjour  voici j ai  erreur  dont  j arrive  pas  a  trouvé  la  source  :
 je  veux parser mes  fichiers json  localement  dans  mon disque . 
voici je  vous met  tout  ce que  j  ai codé  et  vraiment  je  ne  sais d ou vient  l erreur j  ai besoin  de  votre  aide et merci  
produit:
	Code:
	
1 2 3 4 5 6 7 8 9 10
   |  
public class Product {
 
     public int  storeId;
     public   int catalogId;
     public  int langId;
     public   int productId;
     public   int parent_category_rn;
     public  String  shouldCachePage;   
} | 
 
mon fichier  json
	Code:
	
[{"storeId":"10101","catalogId":"10101","langId":-2,"productId":"10251","parent_category_rn":"10104","shouldCachePage":""}]
 ma classe  parseur  
	Code:
	
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
   |  
public class ParseJsonProduct {
 
 
	public ArrayList<Product> parse (Context  context, int fichierjson )  throws  JSONException 
 
	  {
          ArrayList<Product> pro = new  ArrayList<Product>();   
 
		     InputStream  is = context.getResources().openRawResource(fichierjson);
		      String  rawJson = stream2String(is);	  
		      JSONArray  ob = new   JSONArray(rawJson);
 
		      if(!rawJson.equals(""))
		      { 
 
		    	   for(int i=0;i<ob.length();i++)
		    	   {
		    	   JSONObject p = ob.getJSONObject(i);
 
		    	          Product  pr = new   Product();
		    		      pr.catalogId  =  p.getInt("catalogId");
		    		      pr.storeId =  p.getInt("storeId");
		    		      pr.langId  =  p.getInt("langId");
		    		      pr.productId =  p.getInt("productId");
		    		      pr.parent_category_rn = p.getInt("parent_category_rn");
		    		      pr.shouldCachePage  =  p.getString("shouldCachePage"); 
		    		   pro.add(pr);
		 }
		    	      }
 
 
		  return     pro ;
	  }
 
	  private String stream2String(InputStream stream) {
			InputStreamReader reader = new InputStreamReader(stream);
			BufferedReader buffer = new BufferedReader(reader);
			StringBuilder sb = new StringBuilder();
			try {
				String cur;
				while ((cur = buffer.readLine()) != null) {
					sb.append(cur);
				}
			} catch (IOException e) {
				e.printStackTrace();
			}
			try {
				stream.close();
			} catch (IOException e) {
				e.printStackTrace();
			}
			return sb.toString();
		}
} | 
 ma classe adapter 
	Code:
	
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
   |  
 
public class ProductAdapter  extends BaseAdapter{
 
 
	private LayoutInflater		mInflater;
//	private  Product   produit  = new Product();
	private  ArrayList<Product> produits = new ArrayList<Product>() ;
 
	  public   ProductAdapter(Context  context , ArrayList<Product> produits)
	  {
 
		        this.mInflater=  LayoutInflater.from(context);
		        this.produits=produits;
	  }
 
		public int getCount() {
			// TODO Auto-generated method stub
			return produits.size();
		}
 
 
		public Product getItem(int position) {
			// TODO Auto-generated method stub
			return  produits.get(position);
		}
 
 
		public long getItemId(int position) {
			// TODO Auto-generated method stub
			return position;
		}
 
	  public static class ViewHolder {
			TextView txtText;
		}
 
 
 
	  public View getView(int position, View convertView, ViewGroup parent) {
			ViewHolder holder;
 
			if (convertView == null) {
				convertView = mInflater.inflate(R.layout.produit, null);
				holder 	= new ViewHolder();
				holder.txtText= (TextView) convertView.findViewById(R.id.txtTitle);
				convertView.setTag(holder);
			} else {
				holder = (ViewHolder) convertView.getTag();
			}
 
          final  Product  item =   produits.get(position);
	holder.txtText.setText(item.catalogId + " " + item.langId+ " " + item.productId +"" + item.storeId+"" + item.parent_category_rn+ "" + item.shouldCachePage+ "");
 
			return convertView;
		} | 
 et  en fin  ma  classe  main  
	Code:
	
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
   |  
public class Main extends Activity {
	  /** Called when the activity is first created. */
 
    ListView   mlistView ;
 
   @Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
 
      mlistView  = (ListView)findViewById(R.id.txtTitle);
 
 
      ParseJsonProduct parser  = new   ParseJsonProduct();      
      ArrayList<Product>  produit  = null;
      try {
    	  produit =parser.parse(this,R.raw.fichierjson);
 
      } catch (JSONException e)
      {
    	// Une erreur s'est produite lors du traitement du 
			// fichier json
			Log.e("ParserJsonProduct", "ERREUR : " + e.getMessage());
			e.printStackTrace(); 
      }
 
      if(produit!=null)
      {
    	  ProductAdapter  pr = new  ProductAdapter(this, produit);
    	  mlistView.setAdapter(pr);
    	  mlistView.setOnItemClickListener(new OnItemClickListener() {
    		  public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
				//	Product p = (Product) ((ProductAdapter)mlistView.getAdapter()).getItem(arg2);
				//	Toast.makeText(Main.this, p.productId+"",Toast.LENGTH_LONG).show();
				}	  
		});
      }
   }
} | 
 et  voici  l  erreur  dont  je  ne  sais  meme  je  n e sais  si j ai mal  codé  ou  non  j  ai  besoin  de  votre  aide  et  merci d avance  
	Code:
	
1 2 3 4
   | 04-14 09:28:18.009: ERROR/AndroidRuntime(5933): Caused by: java.lang.NullPointerException
04-14 09:28:18.009: ERROR/AndroidRuntime(5933):     at com.Categorie.json.Main.onCreate(Main.java:48)
04-14 09:28:18.009: ERROR/AndroidRuntime(5933):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
04-14 09:28:18.009: ERROR/AndroidRuntime(5933):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2459)  |