diff --git a/libmobile_hilink.c b/libmobile_hilink.c
index c29480ba1f51408fc722985bb7413cf94252d830..24d2c6677b626b4d942ebfe56c331f336da05951 100644
--- a/libmobile_hilink.c
+++ b/libmobile_hilink.c
@@ -353,11 +353,15 @@ struct write_result *mobile_get_sms_count()
 }
 
 
-struct write_result *mobile_get_language()
+struct json_object *mobile_get_language()
 {
 	char *api_url = "http://192.168.8.1/api/language/current-language";
+	struct write_result *result;
+
+	result = get_request(home_url, api_url);
+
+	return xml_to_json_converter(result);
 
-	return get_request(home_url, api_url);
 }
 
        /*     post calls */
diff --git a/libmobile_hilink.h b/libmobile_hilink.h
index 71321a64e36cd3ac80a4d277ea7b0208d62e6f08..a4d0a7bddfd78c3267a70cdd5f657651c4f2555b 100644
--- a/libmobile_hilink.h
+++ b/libmobile_hilink.h
@@ -7,6 +7,7 @@
 #include <string.h>
 #include <stdlib.h>
 #include <unistd.h>
+#include "common.h"
 
 
 #define BUFFER_SIZE  (256 * 1024)   //256kb
@@ -63,8 +64,7 @@ struct write_result *mobile_get_notification();
 //SimDraft, LocalMax, SimMax, SimUsed, NewMsg
 struct write_result *mobile_get_sms_count();
 
-struct write_result *mobile_get_language();
-
+struct json_object *mobile_get_language();
 struct write_result *mobile_create_apn_profile(char *name, char *apn_name, char *username, char *password);
 
 struct write_result *mobile_set_apn_profile_default(char *name, char *apn_name, char *username, char *password);