java值字符串类型太大
我有一个字符串没有转换成json数组:
{
\"mantra\": \"प्रातः एवं सांयकालमा आरतीगर्दा भन्ने श्लोक\",
\"mantra_detail\": \"ॐ जय जगदिश हरे, प्रभु जय जगदिश हरे \n ”प्रभुका चरण उपासक” ”हरिका चरण उपासक” कति कति पार तरे ।। १ ।। \nॐ जय जगदिश हरे \n \nमनको थाल मनोहर ”प्रेमरुप वाती”२ ।। प्रभु ।। \n”भाव कपूर छ मड्डल”२ आरती सब भाती ।। २ ।। \nॐ जय जगदिश हरे \n \nनित्य नीरञ्जन निर्मल ”कारण अविनाशी”२ ।। प्रभु ।। \n”शरणागत प्रतिपालक”२ चिन्मय सुखराशि ।। ३ ।। \nॐ जय जगदिश हरे \n \nसृष्टि–स्थिति, लयकर्ता, ”त्रिभुवनका स्वामी”२ ।। प्रभु ।। \n”भक्ति सुधा वर्षाउ” ”प्रेम सुधा वर्षाउ” \n शरण पर्यौं हामी ।। ४ ।। \n ॐ जय जगदिश हरे \n \nआसुरभाव निवारक, ”तारक सुखदाता”२ ।। प्रभु ।। \n”गुण अनुरुप तिमी हौ”२ हरिहर औ धाता ।। ५ ।। \nॐ जय जगदिश हरे \n \nयुग युग पालन गर्छौ, ”अगणित रुप धरी”२ ।। प्रभु ।। \n”लीलामय रस विग्रह”२ करुणा मूर्ति हरि ।। ६ ।। \nॐ जय जगदिश हरे \n \nसमता शान्ति प्रदायक, ”सज्जन हितकारी”२ ।। प्रभु ।। \n”चरण शरण अब पाउ”२ प्रभु भव भयहारी ।। ७ ।। \nॐ जय जगदिश हरे \n \nभाव मनोहर देउ, ”साधक फलदायी”२ ।। प्रभु ।। \n”जीवन धन्य बनोस्”२ प्रभु पद सेवा पाई ।। ८ ।। \nॐ जय जगदिश हरे \n \nसंयम सुर–सरिताको, ”अविरल धार बहोस्”२ ।। प्रभु ।। \n”जति जति जन्म भएपनि” जहा जहा जन्म भएपनि” \n प्रभुमा प्रेम रहोस् ।। ९ ।। \n ॐ जय जगदिश हरे \n \nप्रेम सहित शुभ आरती, ”जसले नित्य गर्यो”२ ।। प्रभु ।। \n”दिन दिन निर्मल बन्दै” ”प्रतिदिन पावन बन्दै” \nत्यो भव सिन्धु तर्यो ।। १० ।। \nॐ जय जगदिश हरे, प्रभु जय जगदिश हरे..\"
},
我的代码:
private Observable<List<MantraDTO>> getMantraObservable() {
return Observable.just(1).map(integer -> getMantraList(getMantraStringFromXml()));
}
public String getMantraStringFromXml(){
return getActivity().getString(R.string.mantra);
}
public List<MantraDTO> getMantraList(String mantraString) {
List<MantraDTO> mantraList = new ArrayList<>();
try {
JSONArray mantraJsonData = new JSONArray(mantraString);
int length = mantraJsonData.length();
for (int i = 0; i < length; i++) {
mantraList.add(parseMantra(mantraJsonData.optJSONObject(i)));
}
} catch (JSONException e) {
e.printStackTrace();
}
}
这给了我一个错误:
W/System.err: org.json.JSONException: Value STRING_TOO_LARGE of type
java.lang.String cannot be converted to JSONArray at org.json.JSON.typeMismatch(JSON.java:111) at org.json.JSONArray.(JSONArray.java:96) at org.json.JSONArray.(JSONArray.java:108) at com.toyanathpatro.gurkha.fragments.MantraFragment.getMantraList(MantraFragment.java:153) at com.toyanathpatro.gurkha.fragments.MantraFragment.lambda$getMantraObservable$0$MantraFragment(MantraFragment.java:106)
如何修复此错误
# 1 楼答案
试试这个,它会从字符串中删除像“\”这样的字符。 json=json。替换(“\\”,“'”);JSONObject jo=new JSONObject(json.substring(1,json.length()-1))