Heim  >  Artikel  >  Der Pfad kann mit Java nicht gefunden werden

Der Pfad kann mit Java nicht gefunden werden

PHPz
PHPznach vorne
2024-02-14 10:51:181224Durchsuche

Können Sie den Pfad mit Safe Java nicht finden? Mach dir keine Sorgen! Der PHP-Editor Xinyi bietet Ihnen eine Lösung. Während der Java-Entwicklung tritt manchmal das Problem auf, dass der angegebene Pfad nicht gefunden werden kann. Dies kann an falschen Dateipfadeinstellungen liegen oder die Datei ist nicht vorhanden. In diesem Artikel finden Sie Einzelheiten zur Lösung dieses Problems sowie einige gängige Lösungen. Lasst uns gemeinsam erkunden!

Frageninhalt

Hier ist mein Code, ich versuche, den Wert im JSON-Format festzulegen:

{"details": "{\"user\":\"user1\",\"password\":\"1234\"}"}

Hier muss ich die Daten in user und pass festlegen, sie sind jedoch in doppelte Anführungszeichen gesetzt ("").

Ich habe den Weg mit detail.user ausprobiert, aber es funktioniert nicht:

ObjectMapper mapper = new ObjectMapper(); 
ObjectNode node = (ObjectNode) mapper.readTree(new File(templatePath)); 

// System.out.println(node); 

Configuration config = Configuration.builder()
    .jsonProvider(new JacksonJsonNodeJsonProvider())
    .mappingProvider(new JacksonMappingProvider()).build(); 
    
json = JsonPath.using(config).parse(node);

for (int i = 0; i < list.size(); i++) {
    String x = list.get(i); 
    arr = x.split(": "); 
    String newHeader = arr[0].replace("|", "."); 
    
    if (newHeader.contains("[")) { 
        String nHeader = "$." + newHeader; 
        String actualVal; 
        if (arr.length >= 2) { 
            actualVal = arr[1]; 
        } else { 
            actualVal = ""; 
        } 
        json.set(nHeader, actualVal).jsonString(); 
    } else { 
        String actualVal; 
        if (arr.length >= 2) { 
            actualVal = arr[1]; 
        } else { 
            actualVal = ""; 
        } 
        json.set(newHeader, actualVal).jsonString(); 
    }
}

Ich habe versucht, die Daten mit dem obigen Code festzulegen. Aber ich habe exception erhalten.

Problemumgehung

Beziehen Sie sich auf den folgenden Code und versuchen Sie, Ihr Objekt zu aktualisieren. Sie können GSON oder Jackson verwenden, um JSON-Objekte zu verarbeiten. Bitte machen Sie etwas Arbeit, bevor Sie eine Frage posten.

import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;

public class JsonUpdateExample {

public static void main(String[] args) {
    // Sample JSON string
    String jsonString = "{\"name\":\"John\", \"age\":25, \"city\":\"New York\"}";

    // Field to update
    String fieldToUpdate = "age";
    
    // New value for the field
    int newValue = 30;

    // Update the JSON
    String updatedJson = updateJsonField(jsonString, fieldToUpdate, newValue);

    // Print the updated JSON
    System.out.println(updatedJson);
}

private static String updateJsonField(String jsonString, String fieldToUpdate, int newValue) {
    try {
        // Create ObjectMapper
        ObjectMapper objectMapper = new ObjectMapper();

        // Read the JSON string into a JsonNode
        JsonNode jsonNode = objectMapper.readTree(jsonString);

        // Update the field
        ((ObjectNode) jsonNode).put(fieldToUpdate, newValue);

        // Convert the updated JsonNode back to a JSON string
        return objectMapper.writeValueAsString(jsonNode);
    } catch (Exception e) {
        e.printStackTrace();
        return jsonString; // return the original JSON in case of an error
    }
}
}

Das obige ist der detaillierte Inhalt vonDer Pfad kann mit Java nicht gefunden werden. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:stackoverflow.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen