1. spring3.0 怎麼把json裡面的null值替換成空字元串
恐怕要自己修改 JSONWriter.class
private void string(Object obj)
{
add('"');
CharacterIterator it = new StringCharacterIterator(obj.toString());
for (char c = it.first(); c != 65535; c = it.next()) {
if (c == '"')
add("\\\"");
else if (c == '\\')
add("\\\\");
else if (c == '/')
add("\\/");
else if (c == '\b')
add("\\b");
else if (c == '\f')
add("\\f");
else if (c == '\n')
add("\\n");
else if (c == '\r')
add("\\r");
else if (c == '\t')
add("\\t");
else if (Character.isISOControl(c))
unicode(c);
else {
add(c);
}
}
add('"');
}
2. 用afnetworking請求得到的json數據怎麼去掉空值
AFHTTPClient *httpClient = [[AFHTTPClient alloc] initWithBaseURL:[NSURL URLWithString:@""]];//這里要將url設置為空
httpClient.parameterEncoding = AFJSONParameterEncoding;
[httpClient setDefaultHeader:@"Accept" value:@"text/json"];
NSMutableDictionary *params=[[NSMutableDictionary alloc] init]; // 要傳遞的json數據是一個字典
[params setObject:UserID forKey:@"userId"];
[params setObject:[self.contDic objectForKey:@"weiboId" ] forKey:@"operateId"];
[params setObject:@"" forKey:@"key"];
// httpClient 的postPath就是上文中的pathStr,即你要訪問的URL地址,這里是向伺服器提交一個數據請求,
[httpClient postPath:pathStr parameters:params success:^(AFHTTPRequestOperation *operation, id responseObject) {
NSLog(@"data====%@",params);
NSString *responseStr = [[NSString alloc] initWithData:responseObject encoding:NSUTF8StringEncoding];
NSLog(@"Request Successful, response '%@'", responseStr);
[responseStr release];
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"[HTTPClient Error]: %@", error);
3. (JAVA )json解析數據有空值解析不了怎麼辦
json裡面有空值是可以解析的 就是解專析出來的值為屬空
JSONObject ob = JSONObject.fromObject(json);
JSONObject itemMajorInfo = ob.JSONObject("itemMajorInfo");
String employeeName = itemMajorInfo.getString("employeeName");
System.out.println(employeeName);//值為空
4. 如何驗證介面響應json欄位值不為空
//獲取驗證欄位不為空
privateStringcheckDataNotNull(List<String>lines,Stringkey,Stringvalue){
Stringcontent=lines.toString();
Stringvalue1=value;//存放一個value,因為後面回去value進行編輯
if(key==null||key.isEmpty()||lines.isEmpty()){
returnvalue1;
}
if(key.equalsIgnoreCase("notnull")){
value=value.replace(",",",");//替換掉中文逗號
if(value.indexOf(",")==-1){//如果不存在逗號,則直接進入驗證
if(!content.contains(value1)){
returnauthor;
}
for(intk=0;k<lines.size();k++){
Stringline=lines.get(k);
if(line.contains(key+":")){
StringlineValue=deleteCharFromString(key+":",line);
if(lineValue==null||lineValue.isEmpty()){
returnauthor;
}
}
}
returnvalue1;
}else{//如果包含逗號,先將中文逗號轉化為英文都好
List<String>list=newArrayList<>();//用list存放獲取到的value中的值
for(inti=0;i<10;i++){//for循環獲取驗證文本
if(value.indexOf(",")==-1){//如果已經到頭,則直接賦值並添加list,跳出循環
Stringkey1=value;
list.add(key1);
break;
}
Stringkey1=value.substring(0,value.indexOf(","));//截取字元串
list.add(key1);//添加list
value=deleteCharFromString(key1+",",value);//刪除截取到的字元串
}
List<String>results=newArrayList<String>();
for(inti=0;i<list.size();i++){
Stringkeys=list.get(i);
for(intk=0;k<lines.size();k++){
Stringline=lines.get(k);
if(line.contains(key+":")){
StringlineValue=deleteCharFromString(key+":",line);
if(lineValue==null||lineValue.isEmpty()){
results.add(author);
break;
}
}
}
results.add(keys);
}
StringBuffertext=newStringBuffer();
for(inti=0;i<results.size();i++){
if(i==results.size()-1){
text.append(results.get(i));
continue;
}
text.append(results.get(i)+",");
}
Stringtexts=text.toString();
//output(texts,value1);
returntexts;//返回值
}
}else{
returnauthor;
}
}
5. java中json對象有沒有方法可以把null值轉換成空字元串
1.SerializerFeature.WriteMapNullValue 是否輸出值為null的欄位,默認為false也就是說有null時會輸出而不是忽略(默內認策略容是忽略,所以看不到為null的欄位)
2.WriteNullStringAsEmpty—字元類型欄位如果為null,輸出為」「,而非null 注意是欄位是欄位是欄位,而不是json.put("key",null),所以用它時,欄位為null的可以轉換為空字元串。
3.如果讓輸出的json中所有為null的字元串都變成空字元串,最簡單的做法就是加一個值過濾器,這樣就避免了有的欄位為null,有的欄位為空字元的現象。
6. springMVC,json視圖,返回的json數據有null值,怎麼過濾成空串
自己構建ObjectMapper注入進去,在ObjectMapper中設置NOT_NULL不轉換回
<bean class="org.springframework.web.servlet.view.json.MappingJacksonJsonView">
答 <property name="" value="true" />
<property name="objectMapper">
<bean class="org.codehaus.jackson.map.ObjectMapper">
<property name="serializationInclusion">
<value type="org.codehaus.jackson.map.annotate.JsonSerialize$Inclusion">NON_NULL</value>
</property>
</bean>
</property>
</bean>
7. gson實體轉json時當欄位值為空時,json串中就不存在該屬於,請問如何在值為空的時候也保留該字元串
用這種方式就可以了:
Gson g = new GsonBuilder().serializeNulls().create();
8. $.ajax傳遞json格式參數,某屬性為null,取值為空字元串的問題。
對於伺服器端來說接收的json數據格式都是字元串類型的,javascript的變數類型是無法和後端語言通用的 ,查查B/S架構的原理就明白了。伺服器端可以設置 接收到""時設定變數為null 保存起來。
9. 獲取json中key的值時為空
alert(eval(json)[0].address);
以此類推!
10. json串中怎麼把值為null的屬性過濾掉
^String s = ":{\"a\":1,\"b\":2,\"c\":null,\"d\":[{\"aa\":[{\"aaa\":null,\"bbb\":222}],\"bb\":22,\"cc\":null}]}";
// 把形如:"a":null, 把後面有個逗號的給替換掉,這個替換掉,如果最後一個,回cc:null是無法替換掉的
s = s.replaceAll("\"[^答\"]+\":null,", "");
// 把形如:,"a":null 把前面有個逗號的給替換掉
s = s.replaceAll(",\"[^\"]+\":null", "");
System.out.println(s);
:{"a":1,"b":2,"d":[{"aa":[{"bbb":222}],"bb":22}]}