input: Write a function to extract features from a json string in Python. The function should take a json string as input and return a dictionary containing the extracted features. If the input is not a valid json string, the function should return None.
  assert feature_extraction('{"id":111,"title":"This is a sample title","body":"This is a sample body text"}')=={"id": 111, "title": "This is a sample title", "body_len": 28}
  assert feature_extraction('{"id":222,"title":"Another title","body":"This is another body text"}')=={"id": 222, "title": "Another title", "body_len": 25}
  assert feature_extraction('{"id":333,"title":"Short title","body":""}')=={"id": 333, "title": "Short title", "body_len": 0}
  assert feature_extraction('{"id":444,"title":"","body":"Long body text with more content"}')=={"id": 444, "title": "", "body_len": 35}
  assert feature_extraction('invalid json string')==None
output: try:
      data = json.loads(json_string)
      return {"id": data["id"], "title": data["title"], "body_len": len(data["body"])}
  except:
      return None